Если вы используете Xmonad в качестве оконного менеджера, вы можете создать xmobar в своем xmonad.hs таким образом, импортировав 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 ...
будет работать нормально, но я не могу сказать вам, как передать информацию о ваших окнах в xmobar.
Я нашел этот код здесь, там вы можете найти удивительно длинную конфигурацию xmonad для заметок и идей, и также некоторые конфиги xmobar.
Надеюсь, это было полезно
person
Joaquin Flores
schedule
23.02.2021