[xmonad] responding to xrandr events (or: I'm looking for an xmobar-like app that will work with lots of screen rotations)
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:
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?
More information about the xmonad