我使用配置的设置安装了XMonad和XMobar。当我启动XMonad时,任何没有第一个工作区的XMobar都停靠,并且打开的程序位于XMobar下面,但是当我打开任何程序时,第一个工作区上的XMobar会被隐藏。 这些是我的XMonad和XMobar配置:
--XMonad:
import XMonad
import XMonad.Util.Run(spawnPipe)
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Util.EZConfig(additionalKeys)
import System.IO
main = do
xmproc <- spawnPipe "xmobar ~/.xmobarrc"
xmonad $ defaultConfig
{ manageHook = manageDocks <+> manageHook defaultConfig
, layoutHook = avoidStruts $ layoutHook defaultConfig
, logHook = dynamicLogWithPP xmobarPP
{ ppOutput = hPutStrLn xmproc
, ppTitle = xmobarColor "green" "" . shorten 50
}
, borderWidth = 2
, terminal = "terminator"
, normalBorderColor = "#cccccc"
, focusedBorderColor = "#cd8b00"
}
--XMobar:
Config { font = "-misc-fixed-*-*-*-*-33-*-*-*-*-*-*-*"
, bgColor = "black"
, fgColor = "grey"
, position = TopW L 90
, commands = [ Run Cpu ["-L","3","-H","50",
"--normal","green","--high","red"] 10
, Run Memory ["-t","Mem: <usedratio>%"] 10
, Run Swap [] 10
, Run Com "uname" ["-s","-r"] "" 36000
, Run Date "%a %b %_d %Y %H:%M:%S" "date" 10
, Run Com "~/.xmonad/batt" [] "" 300
, Run StdinReader
]
, sepChar = "%"
, alignSep = "}{"
, template = "%StdinReader% }{ %cpu% | %memory% | %.xmonad/batt% | <fc=#ee9a00>%date%</fc>"
}
答案 0 :(得分:4)
我对xmobar v0.24和xmonad v0.12也有同样的问题。当快速重新编译两次(meta-q)时,我也遇到了所有工作空间的问题。我通过在.xmobarrc中将overrideRedirect
设置为False
来解决此问题。
<强> overrideRedirect 强>
如果您在平铺窗口管理器中运行xmobar,则可能需要将此选项设置为False,以使其作为停靠的应用程序运行。默认为True。