在多个显示器上使用 Xmobar
Use Xmobar on several Monitors
这个问题已经回答了好几次,但我不明白接受的答案。例如这里 。在问题中,用户提到了另一个问题,其中解决方案隐藏在评论后面。但是这个线程中接受的答案仍然隐藏了评论背后的代码。谁能post出一个xmonad.hs解决问题并且可以编译的?
我也在这里问过这个问题https://www.reddit.com/r/xmonad/comments/lowbw1/same_xmobar_on_several_screens/但是得到的答案是不可能的。但是如上所述,似乎有一个解决方案,因为已经接受了答案。
如果您使用 Xmonad 作为 window 管理器,您可以通过这种方式在 xmonad.hs 中生成 xmobar,将 XMonad.Util.Run 导入 运行 'spawnPipe'
main = do
-- Launching three instances of xmobar on their monitors.
xmproc0 <- spawnPipe "xmobar -x 0 $HOME/.config/xmobar/xmobarrc0"
xmproc1 <- spawnPipe "xmobar -x 1 $HOME/.config/xmobar/xmobarrc2"
xmproc2 <- spawnPipe "xmobar -x 2 $HOME/.config/xmobar/xmobarrc1"
如果你愿意,它可以是相同的 xmobarrc。
有了这个,您可以将参数从 Xmonad 传递到 xmobar,例如您的工作区、布局等,在您的 def 配置中定义
xmonad $ def {
keys = myKeys
, otherHooks...
, logHook = myLogHook <+> dynamicLogWithPP xmobarPP
{ ppOutput = \x -> hPutStrLn xmproc0 x >> hPutStrLn xmproc1 x >> hPutStrLn xmproc2 x
, ppFormats
}
}
对于 ppFormats 检查 XMonad.Hooks.DynamicLog
而且,如果您不使用 Xmonad,可能会在您的启动文件中定义 .xinitrc 或您使用的文件添加
exec 'xmobar -x 0 /path/to/config' &
exec 'xmobar -x 1 /path/to/config' &
exec ...
可以正常工作,但是我不能告诉你如何将你的信息 windows 传递给 xmobar。
我找到了这段代码 here,在那里你可以找到一个非常长的 xmonad 配置来记录笔记和想法,还有一些 xmobar 配置。
希望这对您有所帮助
这个问题已经回答了好几次,但我不明白接受的答案。例如这里
我也在这里问过这个问题https://www.reddit.com/r/xmonad/comments/lowbw1/same_xmobar_on_several_screens/但是得到的答案是不可能的。但是如上所述,似乎有一个解决方案,因为已经接受了答案。
如果您使用 Xmonad 作为 window 管理器,您可以通过这种方式在 xmonad.hs 中生成 xmobar,将 XMonad.Util.Run 导入 运行 'spawnPipe'
main = do
-- Launching three instances of xmobar on their monitors.
xmproc0 <- spawnPipe "xmobar -x 0 $HOME/.config/xmobar/xmobarrc0"
xmproc1 <- spawnPipe "xmobar -x 1 $HOME/.config/xmobar/xmobarrc2"
xmproc2 <- spawnPipe "xmobar -x 2 $HOME/.config/xmobar/xmobarrc1"
如果你愿意,它可以是相同的 xmobarrc。
有了这个,您可以将参数从 Xmonad 传递到 xmobar,例如您的工作区、布局等,在您的 def 配置中定义
xmonad $ def {
keys = myKeys
, otherHooks...
, logHook = myLogHook <+> dynamicLogWithPP xmobarPP
{ ppOutput = \x -> hPutStrLn xmproc0 x >> hPutStrLn xmproc1 x >> hPutStrLn xmproc2 x
, ppFormats
}
}
对于 ppFormats 检查 XMonad.Hooks.DynamicLog
而且,如果您不使用 Xmonad,可能会在您的启动文件中定义 .xinitrc 或您使用的文件添加
exec 'xmobar -x 0 /path/to/config' &
exec 'xmobar -x 1 /path/to/config' &
exec ...
可以正常工作,但是我不能告诉你如何将你的信息 windows 传递给 xmobar。
我找到了这段代码 here,在那里你可以找到一个非常长的 xmonad 配置来记录笔记和想法,还有一些 xmobar 配置。
希望这对您有所帮助