2012-07-04 3 views
0

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 (윈도우 버튼)을

도움 주셔서 감사합니다.

답변

0

내 문제에 대한 해결책을 발견 ..
필요한 수입

import Data.Map (fromList) 
import Data.Monoid (mappend) 

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

이 행

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

을 또한 제조 대체