
Justin Bogner wrote:
Justin Bogner wrote:
codesite-noreply-hpIqsD4AKlfQT0dZR+AlfA-XMD5yJDbdMReXY1tMh2IBg@public.gmane.org wrote:
Issue 168: gnome-panel with autohide enabled appears behind main windows http://code.google.com/p/xmonad/issues/detail?id=168
Comment #1 by gwern0: Just to add a comment: I can reproduce this in darcs XMonad, Ubuntu Hardy Heron, using ManageDocks as well (see my xmonad.hs).
This bug is kind of annoying, since autohide is the best way to save gnome-panel wasted space (once you've consolidated into a single panel and have shrunk it down as much as possible), even if you can work around it by going to an empty workspace.
I've attached a fix, it keeps struts at the top of the stacking order all the time. Tested in gnome.
I've come up with another fix, which hides (ie, unmaps the window of) any struts that its not avoiding as well as keeping struts on the very top. Doing it this way allows the gnome panel with autohide and without autohide to work sanely.
Unfortunately, this makes the AvoidStrutsOn variant of AvoidStruts behave very predictably wrong (though I'm not really sure why someone would want to avoid struts in only certain directions...).
I think the proper approach to fixing this is to have three states, instead of two. That is, Avoid, Hide, and Ignore --- but nobody would ever want to toggle between all three, you'd probably want to ignore some and toggle between avoid and hide.
To make something like that work, I would presumably add the list of struts to hide to AvoidStruts' state, which would, as a bonus, make the module more efficient.
Does anyone use AvoidStrutsOn? I'd like to hear some use cases for its existence...
Just want to bump this thread. It appears from some IRC discussionn that AvoidStrutsOn is indeed used by some people, so a fix that allows it to work too would be desirable. a-9 was asking about this on IRC, so I just thought I'd bump this thread to keep this alive. Also, the patch(es) should probably be uploaded to the bug tracker, so we don't lose them in the mists. Braden Shepherdson shepheb