与 Xmonad 一起使用时 Xmobar 不可见

Xmobar not visible when using with Xmonad

今天我开始使用 Xmonad,但无法让 Xmobar 在布局顶部可见 在我的 .xmobarrc 我有这些代码:

...
   , position =     TopW L 100
   , lowerOnStart =     True
   , hideOnStart =      False
   , allDesktops =      True
   , overrideRedirect = True
   , pickBroadest =     False
   , persistent =       True

...

这是我的 xmonad.hs:

import XMonad
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Util.Run(spawnPipe)
import System.IO

main = do
  xmproc <- spawnPipe "xmobar"
  xmonad $ defaultConfig
    { manageHook = manageDocks <+> manageHook defaultConfig
    , layoutHook = avoidStruts  $  layoutHook defaultConfig
    , logHook = dynamicLogWithPP xmobarPP
                    { ppOutput = hPutStrLn xmproc
                    , ppTitle = xmobarColor "green" "" . shorten 50
                    }
    , terminal = "urxvt"
    , modMask = mod4Mask
    }

Xmobar 是 运行 Xmonad,但它不可见。我该如何解决? 我需要 Xmobar 始终显示在监视器的顶部。

解决方案成立于 https://unix.stackexchange.com/questions/288037/

我添加这个 handleEventHook = handleEventHook defaultConfig <+> docksEventHook 现在 Xmobar 总是可见的。

尽管发布的许多其他解决方案也很重要,但我不得不将 lowerOnStart = False 添加到 .xmobarrc,因此它不会在启动时发送到 window 堆栈的底部。