xpra icon
Bug tracker and wiki

Changes between Initial Version and Version 1 of Ticket #139, comment 4


Ignore:
Timestamp:
02/03/14 14:56:35 (6 years ago)
Author:
Antoine Martin
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #139, comment 4

    initial v1  
    55We get those events on the composite helper because it recursively selects {{{addXSelectInput}}} on all the window's parents as part of the damage handle code... and the event is delivered to a parent window we aren't managing. This is a bit nasty.
    66
    7 Anyway, once we get one of those events, we can keep track of which window is meant to get all input, and make sure we deliver the events there. We can also forward the grab state to the client, which can try to honour it... But because this is all over the network and asynchronous, I'm not sure how well this can work.
     7Anyway, once we get one of those events, we can keep track of which window is meant to get all input, and make sure we deliver the events there. We can also forward the grab state to the client, which can try to honour it... For example, with gtk: [http://www.pygtk.org/docs/pygtk/gdk-functions.html#function-gdk--pointer-grab gtk.gdk.pointer_grab] and [http://www.pygtk.org/docs/pygtk/gdk-functions.html#function-gdk--pointer-ungrab gtk.gdk.pointer_ungrab]
     8But because this is all over the network and asynchronous, I'm not sure how well this can work.
    89
    910
    10 For the keyboard, the events would be: [http://tronche.com/gui/x/xlib/events/input-focus/ Input Focus Events].
     11For the keyboard, the events would be: [http://tronche.com/gui/x/xlib/events/input-focus/ Input Focus Events]. (I think keyboard grabs are a lot less important than pointer grabs)