Run multiple Sikuli sessions on a computer?

Asked by Peter Kim

Hi,

I am trying to run multiple Sikuli sessions on a PC, each session managing different programs running on the PC.
One immediate problem I am having is that there is only one active cursor available on Windows XP.

Do you know of a way to have multiple active cursors? Maybe I can have a virtual desktop program and have a Sikuli session and a cursor for each desktop.

Is this possible?

Thanks.

Peter

Question information

Language:
English Edit question
Status:
Solved
For:
SikuliX Edit question
Assignee:
No assignee Edit question
Solved by:
RaiMan
Solved:
Last query:
Last reply:
Revision history for this message
RaiMan (raimund-hocke) said :
#1

There is only one cursor available in all situations, even if you use some virtual desktops on the same machine.

If you really need the multiple cursor in parallel, the sessions have to be on different machines. One machine the master, the others connected with VNC based connections.

Revision history for this message
Peter Kim (pd-kim) said :
#2

Thank you for the quick response.

Let me ask you a little different but related question:
Can one Sikuli session drive more than one instances of the same application?

Peter

Revision history for this message
Best RaiMan (raimund-hocke) said :
#3

Sikuli does not interact with applications, it only acts on what is visible on the screen.

The only exception is the App class, that to some extent allows to "manage" apps and it's windows.

So if you manage somehow to have more than one instance off an app running, you have to arrange in your script, that the right instance gets the right actions (has focus in this moment).

It is possible, to use subprocessing (one Sikuli script thread for one app instance). The challenge is to make the threads talk with each other about temporary exclusive use of mouse and keyboard (locking features are available with subprocessing).

Even more powerful features would be available if you worked on the Java level (Scala, Groovy, plain Java or JRuby) with EventListeners.

Revision history for this message
Peter Kim (pd-kim) said :
#4

Thanks RaiMan, that solved my question.