1

2 つの異なる Linux インストールでまったく同じ Xmonad.hs 構成を使用しています。最初にインストールしたコンピューターでは正常に動作していますが、2 回目のインストールでエラーが発生しています。構成ファイルは次のとおりです

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"
    }

そして、これが 2 台目のコンピューターで発生するエラーです (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)。

これについて私が忘れていることはありますか?私は一生、何が問題なのか理解できません。

さらに、関連するすべてのファイルを含むドットファイル リポジトリは次のとおりです: https://github.com/lelandbatey/configDebDev

4

1 に答える 1

1

xmonadの 2 つのバージョン(xmonad-0.10 とその他のバージョン) がインストールされていて、何らかの理由で競合していると思われます。ghc-pkg check破損したパッケージがないことを確認してみてください。次に、xmonad を削除し、パッケージ マネージャー (apt-get?) を使用して再インストールします。

于 2013-06-08T00:28:13.443 に答える