2012-07-04 3 views
0

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

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

Я не нашел ничего подобного на 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 (кнопка окна)

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

ответ

0

Найдено решение моей проблемы ..
Заменил эту линию

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) 
Смежные вопросы