Одна и та же ошибка конфигурации Xmonad.hs под одной и той же версией на разных компьютерах
У меня точно такая же конфигурация Xmonad.hs на двух разных установках Linux, и, хотя она отлично работает на компьютере, на котором я ее установил в первый раз, она вызывает ошибки во второй установке. Вот файл конфигурации:
import XMonad
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Util.Run(spawnPipe)
import System.IO
main = do
xmproc <- spawnPipe "~/.cabal/bin/xmobar ~/.xmobarrc"
xmonad $ defaultConfig
{ manageHook = manageDocks <+> manageHook defaultConfig
, layoutHook = avoidStruts $ layoutHook defaultConfig
, logHook = dynamicLogWithPP xmobarPP
{ ppOutput = hPutStrLn xmproc
, ppTitle = xmobarColor "green" "" . shorten 80
}
, terminal = "urxvt"
, modMask = mod1Mask
, borderWidth = 1 --was "3"
, focusedBorderColor = "#4099FF"
, normalBorderColor = "#474747"
}
А вот ошибка, которая возникает на втором компьютере (отражена по адресу nacr.us/media/xmonad.errors):
xmonad.hs:11:20:
Couldn't match expected type `ManageHook'
with actual type `xmonad-0.10:XMonad.Core.ManageHook'
In the first argument of `(<+>)', namely `manageDocks'
In the `manageHook' field of a record
In the second argument of `($)', namely
`defaultConfig
{manageHook = manageDocks <+> manageHook defaultConfig,
layoutHook = avoidStruts $ layoutHook defaultConfig,
logHook = dynamicLogWithPP
(xmobarPP
{ppOutput = hPutStrLn xmproc,
ppTitle = xmobarColor "green" "" . shorten 80}),
terminal = "urxvt", modMask = mod1Mask, borderWidth = 1,
focusedBorderColor = "#4099FF", normalBorderColor = "#474747"}'
Кроме того, обе установки xmonad находятся на идентичных версиях Ubuntu 12.04, а установленные версии xmonad идентичны (согласно apt-cache show xmonad
).
Есть ли что-то, что я забываю об этом? Я не могу за свою жизнь понять, в чем проблема.
Кроме того, вот мое репозиторий dotfiles со всеми соответствующими файлами: https://github.com/lelandbatey/configDebDev
1 ответ
Я подозреваю, что у вас есть две версии xmonad
установлен (xmonad-0.10 плюс другая версия), и по какой-то причине они конфликтуют. Вы можете попробовать ghc-pkg check
чтобы убедиться, что у вас нет сломанных пакетов. Далее я бы удалил xmonad и переустановил его, используя ваш менеджер пакетов (apt-get?).