Используйте Xmobar на нескольких мониторах

На этот вопрос отвечали несколько раз, но я не понимаю принятых ответов. Например, здесь Как создать экземпляр XMobar для каждого экрана? . В вопросе пользователь ссылается на другой вопрос, где решение скрыто за комментарием. Но принятый ответ в этой теме по-прежнему скрывает код за комментарием. Может ли кто-нибудь опубликовать xmonad.hs, который решает проблему и может быть скомпилирован?

Я также задал этот вопрос здесь https://www.reddit.com/r/xmonad/comments/lowbw1/same_xmobar_on_several_screens/ но получил ответ, что это невозможно. Но, как написано выше, похоже, есть решение, поскольку были приняты ответы.


person M0M0    schedule 21.02.2021    source источник


Ответы (1)


Если вы используете 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