Привязки клавиш XMonad не работают

У меня проблемы с конфигурацией XMonad.

Не могли бы вы сказать мне, что не так с этим кодом? Он компилируется, но не имеет желаемого эффекта.

Я не нашел ничего подобного на SO. Итак, вот оно:

     myConfig = azertyConfig { modMask = mod4Mask
                    , layoutHook = myLayoutHook
                    , workspaces = ["1", "2", "3", "4", "5", "6", "7", "8", "9"]
                    , terminal = "urxvt"
                    , startupHook = setWMName "LG3D"
                    , manageHook = myManageHook <+> manageHook azertyConfig
                    } `additionalKeysP` myKeys

     myXPConfig = defaultXPConfig

     myManageHook = composeAll
           [ className =? "emulator-arm" --> doFloat
           , className =? "Sylpheed" --> doShift "2:email"
           , className =? "Pidgin" --> doShift "3:im"
           , className =? "Opera" --> doShiftAndGo "4:web"
           , manageDocks
           ] where doShiftAndGo ws = doF (W.greedyView ws) <+> doShift ws

     myKeys = [ ("M-p", shellPrompt defaultXPConfig)

       -- sublayouts
     , ("M-xK_F10", raiseVolume 4 >> return ())
     , ("M-xK_F11", lowerVolume 4 >> return ())
     -- more codes

   myLayoutHook = avoidStruts $ windowNavigation $ subTabbed $
           (smartBorders tall ||| smartBorders threeCol ||| noBorders Full)
   where
      tall     = Tall nmaster delta ratio
      threeCol = ThreeCol nmaster delta ratio
      nmaster  = 1
      delta    = 3/100
      ratio    = 1/2

   main = xmonad =<< xmobar (withUrgencyHook NoUrgencyHook $ myConfig)

Также пробовал это, но он не компилируется:

     , ((modMask, xK_F10), raiseVolume 3 >> return ())
     , ((modMask, xK_F11), lowerVolume 3 >> return ())

Я получаю эту ошибку:

      Couldn't match expected type `[Char]' with actual type `(t0, t1)'
      In the expression: (modMask, xK_F10)
      In the expression: (modMask, xK_F10), raiseVolume 3 >> return ())

И modMask = modMask4 (кнопка Windows)

Спасибо за вашу помощь.


person Joseph Elcid    schedule 04.07.2012    source источник


Ответы (1)


Нашел решение своей проблемы..
Заменил эту строку

 main = xmonad =<< xmobar (withUrgencyHook NoUrgencyHook $ myConfig)

С

main = xmonad =<< xmobar (withUrgencyHook NoUrgencyHook $ myConfig){ keys =
keys myConfig `mappend`
\c -> fromList [
    ((mod4Mask, xK_F11), lowerVolume 4 >> return ()),
    ((mod4Mask, xK_F10), raiseVolume 4 >> return ())
]
}

Также сделал необходимый импорт

import Data.Map    (fromList)
import Data.Monoid (mappend)
person Joseph Elcid    schedule 12.07.2012