[xmonad] responding to xrandr events (or: I'm looking for an xmobar-like app that will work with lots of screen rotations)

Rogan Creswick creswick at gmail.com
Thu Oct 27 02:12:51 CEST 2011


I apparently have unusual usage patterns when it comes to multiple
monitors, and it's causing problems for xmonad (and other WMs too, but
Xmonad is the one I care about..).

I frequently change the arrangement, orientation, and number of
monitors on my system (it's a laptop that I dock 5-6x/day, and I
alternate between sitting/standing at my desk, and I also just like
rotating an external 19" lcd depending on the task at hand.).

The problem I have is that I haven't found any status-bar like
programs (eg: xmobar, taffybar) that will keep up with the screen
adjustments I do.  (gnome-panel worked, but it's apparently being
phased out, and I'm not particularly happy with gnome dependencies
anyway.)  I usually end up with a status bar that's offset into the
middle of the screen after a rotation / addition (taffybar) or, with
xmobar, the bar eventually disappears entirely.

I think I can probably fix things by tweaking taffybar/xmobar to
respond to resize commands from xmonad, but I don't know how to detect
the screen geometry changes within my xmonad source.  This looks like
the right module to start with:

http://xmonad.org/xmonad-docs/X11/Graphics-X11-Xlib-Extras.html#t%3AEvent

but I haven't been enlightened by any of the Event values, and I don't
know enough to tell if there are event types missing (eg:
XRRScreenChangeNotify, maybe?) or if I just don't know how to
interpret the xmonad module/types.

Does anyone have suggestions?

Thanks!
Rogan



More information about the xmonad mailing list