[xmonad] erratic panel unhide in xmonad + xfce

Tom Hirschowitz tom.hirschowitz at univ-smb.fr
Thu Nov 30 07:28:29 UTC 2017


Thanks! That did simplify things.

However, it doesn't seem to solve the original problem.

Any more hints?

> For several years now, xfce4-panel has required ManageDocks' docksEventHook
> to function properly.
>
> Also note that, from xmonad 0.12 on, you need more than manageDocks and
> avoidStruts in *all* cases: you need both docksEventHook and (as of 0.13)
> docksStartupHook as well. Starting in 0.13 we recommend using the new
> "docks" combinator instead of the individual hooks. (You would compose it
> with the "ewmh" combinator in your config. Speaking of which... why do you
> explicitly use ewmhDesktopsLogHook and ewmhDesktopsEventHook? "ewmh"
> already adds them. (Fullscreen is not added automatically, because you
> might choose to use XMonad.Layout.Fullscreen's fullscreen event hook
> instead which provides more control by communicating with its layout hook
> instead of just making the window a full screen float.)
>
> On Wed, Nov 29, 2017 at 5:03 AM, Tom Hirschowitz <
> tom.hirschowitz at univ-smb.fr> wrote:
>
>>
>> Dear all,
>>
>> I'm using xfce4 with xmonad and panel autohide. The problem is that,
>> depending on which windows are present, the panel sometimes does not
>> unhide. In my experience, it only unhides to cover windows that were
>> spawned after it. E.g., if it doesn't unhide over a given window and I
>> restart it, then it does unhide fine.
>>
>> Snippets of my xmonad.hs are included below.
>>
>> Does anyone have an idea how to sort this out?
>>
>> Thanks,
>> Tom
>>
>> conf = ewmh xfceConfig
>>         { manageHook        = pbManageHook <+> myManageHook
>>                                            <+> manageDocks
>>                                            <+> manageHook xfceConfig
>>         , layoutHook        = myLayoutHook
>>         , handleEventHook   = ewmhDesktopsEventHook <+> fullscreenEventHook
>>         , borderWidth       = 4
>>         , focusedBorderColor= "#80c0ff"
>>         , normalBorderColor = "#13294e"
>>         , workspaces        = map show [1 .. 9 :: Int]
>>         , modMask           = mod4Mask
>>         , keys              = myKeys
>>         , terminal          = "xfce4-terminal"
>>          }
>>
>> -- Main --
>> main :: IO ()
>> main =
>>     xmonad $ conf
>>         { startupHook       = startupHook conf
>>                             >> setWMName "LG3D" -- Java app focus fix
>>         , logHook           =  ewmhDesktopsLogHook
>>          }
>>
>> -- Layouts --
>> myLayoutHook = desktopLayoutModifiers $ avoidStruts $ Full
>>
>> [...]
>>
>> -- ManageHook --
>> pbManageHook :: ManageHook
>> pbManageHook = composeAll $ concat
>>     [ [ manageDocks ]
>>     , [ manageHook defaultConfig ]
>>     , [ isDialog --> doCenterFloat ]
>>     , [ isFullscreen --> doFullFloat ]
>>     , [ fmap not isDialog --> doF avoidMaster ]
>>     ]
>>
>> [...]
>>
>> -- Helpers --
>> -- avoidMaster:  Avoid the master window, but otherwise manage new windows
>> normally
>> avoidMaster :: W.StackSet i l a s sd -> W.StackSet i l a s sd
>> avoidMaster = W.modify' $ \c -> case c of
>>     W.Stack t [] (r:rs) -> W.Stack t [r] rs
>>     otherwise           -> c
>> _______________________________________________
>> xmonad mailing list
>> xmonad at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/xmonad
>>
>
>
>
> -- 
> brandon s allbery kf8nh                               sine nomine associates
> allbery.b at gmail.com                                  ballbery at sinenomine.net
> unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net


More information about the xmonad mailing list