
On Fri, Jun 29, 2012 at 3:16 PM,
You could consider sending a patch to xmonad-extras if you want to add something with extra dependencies. A dependency on dbus makes me especially wary, though. If you only need to send things on dbus or can do your sends and receives synchronously, you should be fine; but if you need to send and receive asynchronously, you're a bit out of luck: xmonad currently runs on a single OS thread, which will be blocking in an X call most of the time.
We need to fix that at some point; Xlib exports a macro that can be used to get at the fd and tell the I/O manager about it, then we make non-blocking XNextEvent() calls, which would make multithreaded behave more sanely even if Xlib is left nonthreaded for performance. Built with -threaded, a forkOS thread could do dbus calls and then establish its own Xlib connection and XSendEvent() or install a property on the root window to relay the result. This doesn't necessarily need to be a one-way connection, but nothing in the main thread can block to wait on a response from the dbus thread (instead, use handleEventHook). -- brandon s allbery allbery.b@gmail.com wandering unix systems administrator (available) (412) 475-9364 vm/sms