[xmonad] Re: Issue 324 in xmonad: Actions.UpdateFocus only works on
terminals, not qt/gtk/etc
codesite-noreply at google.com
codesite-noreply at google.com
Thu Nov 26 09:32:33 EST 2009
Comment #2 on issue 324 by liskni.si: Actions.UpdateFocus only works on
terminals, not qt/gtk/etc
http://code.google.com/p/xmonad/issues/detail?id=324
The problem here is that if a window is interested in its MotionEvents, or
prohibits
propagation of these events, xmonad does not see them. Citing from
http://tronche.com/gui/x/xlib/events/keyboard-pointer/keyboard-pointer.html:
The source of the event is the viewable window that the pointer is in. The
window
used by the X server to report these events depends on the window's
position in the
window hierarchy and whether any intervening window prohibits the
generation of these
events. Starting with the source window, the X server searches up the window
hierarchy until it locates the first window specified by a client as having
an
interest in these events. If one of the intervening windows has its
do-not-propagate-mask set to prohibit generation of the event type, the
events of
those types will be suppressed. Clients can modify the actual window used
for
reporting by performing active grabs and, in the case of keyboard events,
by using
the focus window.
I have no idea how to solve this properly, as listening for motion events
on the
focused window itself will fix it only if the application listens on its
main window
as well. If the application listens for motion events on a child window,
we'd have to
listen on it as well. It is beyond my Xlib knowledge whether this can be
done
differently.
--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings
More information about the xmonad
mailing list