如果您具有启动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并不是一种好的配置语言。