Как соединить эти две части конфигурации вместе?
В моей конфигурации xmonad у меня есть следующее:
main = do
xmproc <- spawnPipe "xmobar -x 0 ~.config/xmobar/xmobar.config"
xmonad $ docks defaults
Но возникли проблемы с хромом, мне нужно добавить следующее:
import XMonad
import XMonad.Hooks.EwmhDesktops
main = xmonad $ ewmh def{ handleEventHook =
handleEventHook def <+> fullscreenEventHook }
Я не уверен, как совместить эти два. Итак, чтобы сохранить конфигурацию xmobar, доки по умолчанию и ewmh
Я пробовал это
main = do
xmproc <- spawnPipe "xmobar -x 0 ~.config/xmobar/xmobar.config"
xmonad $ ewmh def{ handleEventHook =
handleEventHook def <+> fullscreenEventHook }
Но мне тоже нужно добавить доки.
ОБНОВИТЬ:
Спасибо за предложение, Ли-яо Ся. Я пробовал это:
xmproc <- spawnPipe "xmobar -x 0 ~/.config/xmobar/xmobar.config"
xmonad $ docks defaults $ ewmh def{ handleEventHook =
handleEventHook def <+> fullscreenEventHook }
Но это дает ошибку
XMonad will use ghc to recompile, because "/home/adam/.xmonad/build" does not exist.
Error detected while loading xmonad configuration file: /home/adam/.xmonad/xmonad.hs
xmonad.hs:273:12: error:
• Couldn't match expected type ‘XConfig
(Choose Tall (Choose (Mirror Tall) Full))
-> XConfig l0’
with actual type ‘XConfig
(XMonad.Layout.LayoutModifier.ModifiedLayout
AvoidStruts (Choose Tall (Choose (Mirror Tall) Full)))’
• The first argument of ($) takes one argument,
but its type ‘XConfig
(XMonad.Layout.LayoutModifier.ModifiedLayout
AvoidStruts (Choose Tall (Choose (Mirror Tall) Full)))’
has none
In the second argument of ‘($)’, namely
‘docks defaults
$ ewmh
def
{handleEventHook = handleEventHook def <+> fullscreenEventHook}’
In a stmt of a 'do' block:
xmonad
$ docks defaults
$ ewmh
def {handleEventHook = handleEventHook def <+> fullscreenEventHook}
|
273 | xmonad $ docks defaults $ ewmh def{ handleEventHook =
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...
Please check the file for errors.
xmonad: xmessage: executeFile: does not exist (No such file or directory)
1 ответ
Решение
Обратите внимание, что docks
а также ewmh
оба берут конфиг
docks :: XConfig a -> XConfig a
ewmh :: XConfig a -> XConfig a
это функции, которые могут быть составлены
xmonad $ docks $ ewmh def{ handleEventHook =
handleEventHook def <+> fullscreenEventHook }
У вас также есть настраиваемая конфигурация defaults :: XConfig a
, который вы, вероятно, можете использовать вместо def
(что по умолчанию предоставляется самим XMonad)
xmonad $ docks $ ewmh defaults{ handleEventHook =
handleEventHook defaults <+> fullscreenEventHook }
-- note there are two occurrences of "defaults" here (you definitely want the first one, and the second one matters if defaults and def have different definitions of handleEventHook)