使用Xmonad时Xmobar不可见

时间:2017-06-13 16:05:39

标签: linux haskell 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始终在显示器顶部可见。

2 个答案:

答案 0 :(得分:6)

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

我添加了此handleEventHook = handleEventHook defaultConfig <+> docksEventHook,现在Xmobar始终可见。

答案 1 :(得分:0)

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