如果您具有启动XMobar的Shell脚本,则说明您“做错了”。您应该使用xmonad.hs配置源文件中的正确Haskell函数来启动xmobar。看看我的配置主要功能:
-- put it all together
main = do
    nScreens <- countScreens    -- just in case you are on a laptop like me count the screens so that you can go
    xmonad =<< xmobar myBaseConfig
      { modMask = myModMask
      , workspaces = withScreens nScreens myWorkspaces
      , layoutHook = myLayoutHook nScreens
      , manageHook = myManageHook
      , borderWidth = myBorderWidth
      , normalBorderColor = myNormalBorderColor
      , focusedBorderColor = myFocusedBorderColor
      , keys = myKeys
      , mouseBindings = myMouseBindings
      , logHook = myLogHook
      }
    where
        myLogHook = dynamicLogXinerama
myBaseConfig = gnomeConfig
重点是这一条:
xmonad =<< xmobar myBaseConfig
即使重新加载xmonad,它也会按应运行的方式运行xmobar。您可以从以下语句获得“ xmobar”功能:
import XMonad.Hooks.DynamicLog (xmobar)
依次来自xmonad-contrib软件包。
因此,您知道,要使用XMonad进行的大多数操作已经解决了,您只需要知道在哪里看即可。基本上,只需放弃脚本并使用它即可。我希望这有帮助。
               
              
spawnPipe在XMonad网站上找到了代码,要知道在哪里看真的不容易!但是最后,我更喜欢我使用的技术,因为它更干净,使用时DynamicLog并没有杀死测试中的旧过程。我非常喜欢XMonad,但是Haskell并不是一种好的配置语言。