[xmonad] Ncurses and drop-down menus

Matthew Hague matthewhague at zoho.com
Wed Mar 20 12:46:05 CET 2013

> Really strange! You should post your config somewhere (say,  
> hpaste.org). Are you using an urgency hook?
> ~d

Aha! -- i tracked it down (always the way once you've decided to post).  

The problem is in a loghook i set (i'd tried simply removing the entire
loghook and the problem continued, but removing the offending function fixes
it, it turns out).

My config is available here


in particular i have a loghook:

    myLogHook = floatsAvoidStruts <+> raiseFocused <+> hideFloats


    raiseFocused :: X ()
    raiseFocused = do
        disp <- asks display
        mw <- gets (W.peek . windowset)
        whenJust mw (io . (raiseWindow disp))

which is to raise the focussed window above the others, because i have a
free-form messy workspace which sometimes has a few tiled windows combined
with a few floating ones.  So if a tiled window is focussed, all the floats
get lowered (so i can see the tiled layer), and if a float is focussed, it's
raised above everything else (so i can see it).  I know this isn't really in
the spirit of xmonad, but hey...

I guess ncmpcpp triggers the loghook when the play status updates, so then
raiseFocused raises the main GUI app window (with focus) above the drop-down
menu window (which i guess doesn't have focus).  

Sorry for the noise, i'll work on writing a better raiseFocused :)



More information about the xmonad mailing list