Global events receiving (keyboard, mouse events, active window change)
Heinrich Janzing
h.janzing at myrealbox.com
Thu Jan 4 10:59:15 PST 2007
On Thursday 04 January 2007 17:55, Alexander Nemish wrote:
> Hi Yong,
> Thank you for advise. Of course I've looked at xnee and sven's realization
> of grabbing global keypresses (http://sven.linux.kiev.ua/index-en.shtml).
> The problem is that I can't rely on whether there is XRecord on a client
> machine. I can agree to have X11 and XKB as the dependencies. And still
> there are several unanswered questions, like:
> 1. Also I need to get all top-level windows and their titles. I'm using
> XQueryTree(dpy, root_window, ...) and XGetWMName for every child
> returned. I'm getting _all_windows and have no idea on which are
> top-level.
XQueryTree should only return direct children of the root window afaik. You
can get more windows than you expect because of unmapped windows (especially
when running KDE or similar, try it without a window manager running). Try
checking if they're mapped and don't have the override_redirect flag (using
XGetWindowAttributes).
> 2. Have no idea how to receive active window change notification. Any ideas
> are welcome.
Just set the event mask to FocusChangeMask. You will receive FocusIn and
FocusOut events. Look here for more information:
http://tronche.com/gui/x/xlib/events/input-focus/
> > Hi, Alex,
> >
> > Try XRecord extension. See xnee for reference.
> >
> > Regards,
>
> Thank you,
> Alexander
> _______________________________________________
> xorg mailing list
> xorg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xorg
More information about the xorg
mailing list