[xmonad] Re: Issue 168 in xmonad: gnome-panel with autohide enabled appears behind main windows

Justin Bogner mail at justinbogner.com
Thu Jul 3 19:27:40 EDT 2008


Justin Bogner wrote:
> codesite-noreply-hpIqsD4AKlfQT0dZR+AlfA-XMD5yJDbdMReXY1tMh2IBg at 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...
-- 
Justin Bogner


More information about the xmonad mailing list