Support for multiple independent mouse cursors

Peter Hutterer mailinglists at
Tue Apr 25 18:11:34 PDT 2006

Yes, it is possible. MPX supports it to a certain extent.

Each window (that is, each GUI element) can be assigned an access  
list. Only devices in the access list (or in the case of the DENY  
access list only devices NOT in the access list) will send events to  
the given window. Because it is window-based you can even do things  
like 5 users access the same application but only one user can press  
the save button.
The interface is very basic at the moment, but the support is there.

The only problems that are there is that it is hard to do it on a per- 
process basis. A process can open multiple connections to the X  
Server and there's no way to determine which connection belongs to  
which process. the _NET_WM_CLIENT atom is voluntarily and doesn't  
work to well. The only way I found around that is the following:
modify X lib so that each time a window is created it also sets an  
atom on this window to the PID of the process that opened it. MPWM  
supports this so-called FORCE_PID hack and colours the windows  
If you look at the screenshot 
images/gimp_dualinputproblems.png you can see that one of the buttons  
is coloured red. That means that the WM knows that GIMP belongs to  
the red user.

If you want to automatically assign an application you would need a  
similar hack to set the user ID to a given window.

Talking about that I realized that I did not include the FORCE_PID  
patches for xlib. I will update the website.


On 26/04/2006, at 9:55 AM, Friedrich W. H. Kossebau wrote:

> Am Mittwoch, 26. April 2006 01:34, schrieb Peter Hutterer:
> [Multi-Pointer X Server (MPX)]
>> I'd appreciate any feedback.
> Cool, cool stuff :)
> Now if the following works a dream came true for me:
> Is there any possibility to bind cursors* to users? So events are  
> only sent to
> windows of programs run by that user? And also those windows where  
> the owner
> of the running program invited others to join (think whiteboard)?
> * and other input devices
> Regards
> Friedrich, a plain casual observer of X development
> _______________________________________________
> xorg mailing list
> xorg at

More information about the xorg mailing list