Xmonad/Config archive/Wraithan's xmonad.hs
From HaskellWiki
(Difference between revisions)
| Line 37: | Line 37: | ||
myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $ | myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $ | ||
| - | [ ((modMask, | + | [ ((modMask , xK_Return ), spawn $ XMonad.terminal conf) |
| - | + | , ((modMask .|. shiftMask, xK_c ), kill) | |
| - | , ((modMask .|. shiftMask, xK_c | + | , ((modMask , xK_space ), sendMessage NextLayout) |
| - | , ((modMask, | + | , ((modMask .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf) |
| - | , ((modMask .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf) | + | , ((modMask , xK_n ), refresh) |
| - | , ((modMask, | + | , ((modMask , xK_Tab ), windows W.focusDown) |
| - | , ((modMask, | + | , ((modMask , xK_j ), windows W.focusDown) |
| - | , ((modMask, | + | , ((modMask , xK_k ), windows W.focusUp) |
| - | , ((modMask, | + | , ((modMask , xK_m ), windows W.focusMaster) |
| - | , ((modMask, | + | , ((modMask .|. shiftMask, xK_Return ), windows W.swapMaster) |
| - | , ((modMask .|. shiftMask, xK_Return), windows W.swapMaster) | + | , ((modMask .|. shiftMask, xK_j ), windows W.swapDown) |
| - | , ((modMask .|. shiftMask, xK_j | + | , ((modMask .|. shiftMask, xK_k ), windows W.swapUp) |
| - | , ((modMask .|. shiftMask, xK_k | + | , ((modMask , xK_h ), sendMessage Shrink) |
| - | , ((modMask, | + | , ((modMask , xK_l ), sendMessage Expand) |
| - | , ((modMask, | + | , ((modMask , xK_t ), withFocused $ windows . W.sink) |
| - | , ((modMask, | + | , ((modMask , xK_comma ), sendMessage (IncMasterN 1)) |
| - | , ((modMask , xK_comma ), sendMessage (IncMasterN 1)) | + | , ((modMask , xK_period ), sendMessage (IncMasterN (-1))) |
| - | , ((modMask , xK_period), sendMessage (IncMasterN (-1))) | + | , ((modMask .|. shiftMask, xK_q ), io (exitWith ExitSuccess)) |
| - | , ((modMask .|. shiftMask, xK_q | + | , ((modMask , xK_q ), spawn "xmonad --recompile; xmonad --restart") |
| - | , ((modMask , xK_q | + | , ((modMask , xK_F2 ), shellPrompt defaultXPConfig) |
| - | , ((modMask , | + | , ((0 , 0x1008ff30 ), shellPrompt defaultXPConfig) |
| - | , (( | + | , ((0 , 0x1008ff13 ), spawn "amixer -q set Master 2dB+") |
| - | , (( | + | , ((0 , 0x1008ff11 ), spawn "amixer -q set Master 2dB-") |
| - | , (( | + | , ((0 , 0x1008ff12 ), spawn "amixer -q set Master toggle") |
| - | , (( | + | , ((0 , 0x1008ff16 ), spawn "cmus-remote --prev") |
| + | , ((0 , 0x1008ff17 ), spawn "cmus-remote --next") | ||
| + | , ((0 , 0x1008ff14 ), spawn "cmus-remote --pause") | ||
| + | , ((0 , 0x1008ff5b ), spawn "urxvt -e screen -rd cmus") | ||
, ((modMask , xK_Print ), spawn "scrot -e 'mv $f ~/Screenshots'") | , ((modMask , xK_Print ), spawn "scrot -e 'mv $f ~/Screenshots'") | ||
] | ] | ||
| Line 91: | Line 94: | ||
ratio = 1/2 | ratio = 1/2 | ||
delta = 3/100 | delta = 3/100 | ||
| - | |||
</haskell> | </haskell> | ||
Revision as of 11:53, 31 July 2009
import XMonad hiding (Tall) import XMonad.Hooks.DynamicLog import XMonad.Hooks.ManageDocks import XMonad.Layout.HintedTile import XMonad.Layout.LayoutHints (layoutHints) import XMonad.Prompt import XMonad.Prompt.Shell import XMonad.Util.Run(spawnPipe) import System.Exit import System.IO import Data.Monoid import qualified XMonad.StackSet as W import qualified Data.Map as M main = do xmproc <- spawnPipe "xmobar" xmonad $ defaultConfig { terminal = "urxvt -fg white", modMask = mod4Mask, workspaces = ["1:Chat", "2:Web", "3:Code", "4:Terms", "5", "6", "7", "8", "9:Music"], normalBorderColor = "#333333", focusedBorderColor = "#333399", manageHook = composeAll [], keys = myKeys, mouseBindings = myMouseBindings, layoutHook = myLayout, logHook = dynamicLogWithPP $ xmobarPP { ppOutput = hPutStrLn xmproc, ppTitle = xmobarColor "green" "" . shorten 50 } } myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $ [ ((modMask , xK_Return ), spawn $ XMonad.terminal conf) , ((modMask .|. shiftMask, xK_c ), kill) , ((modMask , xK_space ), sendMessage NextLayout) , ((modMask .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf) , ((modMask , xK_n ), refresh) , ((modMask , xK_Tab ), windows W.focusDown) , ((modMask , xK_j ), windows W.focusDown) , ((modMask , xK_k ), windows W.focusUp) , ((modMask , xK_m ), windows W.focusMaster) , ((modMask .|. shiftMask, xK_Return ), windows W.swapMaster) , ((modMask .|. shiftMask, xK_j ), windows W.swapDown) , ((modMask .|. shiftMask, xK_k ), windows W.swapUp) , ((modMask , xK_h ), sendMessage Shrink) , ((modMask , xK_l ), sendMessage Expand) , ((modMask , xK_t ), withFocused $ windows . W.sink) , ((modMask , xK_comma ), sendMessage (IncMasterN 1)) , ((modMask , xK_period ), sendMessage (IncMasterN (-1))) , ((modMask .|. shiftMask, xK_q ), io (exitWith ExitSuccess)) , ((modMask , xK_q ), spawn "xmonad --recompile; xmonad --restart") , ((modMask , xK_F2 ), shellPrompt defaultXPConfig) , ((0 , 0x1008ff30 ), shellPrompt defaultXPConfig) , ((0 , 0x1008ff13 ), spawn "amixer -q set Master 2dB+") , ((0 , 0x1008ff11 ), spawn "amixer -q set Master 2dB-") , ((0 , 0x1008ff12 ), spawn "amixer -q set Master toggle") , ((0 , 0x1008ff16 ), spawn "cmus-remote --prev") , ((0 , 0x1008ff17 ), spawn "cmus-remote --next") , ((0 , 0x1008ff14 ), spawn "cmus-remote --pause") , ((0 , 0x1008ff5b ), spawn "urxvt -e screen -rd cmus") , ((modMask , xK_Print ), spawn "scrot -e 'mv $f ~/Screenshots'") ] ++ [((m .|. modMask, k), windows $ f i) | (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9] , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]] ++ [((m .|. modMask, key), screenWorkspace sc >>= flip whenJust (windows . f)) | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..] , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]] myMouseBindings (XConfig {XMonad.modMask = modMask}) = M.fromList $ [ ((modMask, button1), (\w -> focus w >> mouseMoveWindow w >> windows W.shiftMaster)) , ((modMask, button2), (\w -> focus w >> windows W.shiftMaster)) , ((modMask, button3), (\w -> focus w >> mouseResizeWindow w >> windows W.shiftMaster)) ] myLayout = avoidStruts $ tiled ||| wideTiled ||| Full where tiled = HintedTile nmaster delta ratio Center Tall wideTiled = HintedTile nmaster delta ratio Center Wide nmaster = 1 ratio = 1/2 delta = 3/100
