diff options
Diffstat (limited to '')
-rw-r--r-- | xmonad-0.7.hs | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/xmonad-0.7.hs b/xmonad-0.7.hs new file mode 100644 index 0000000..6670a16 --- /dev/null +++ b/xmonad-0.7.hs @@ -0,0 +1,92 @@ +import XMonad +import System.Exit + +import qualified XMonad.StackSet as W +import qualified Data.Map as M + +myTerminal = "x-terminal-emulator" +myBorderWidth = 1 +myModMask = mod1Mask +myNumlockMask = mod2Mask +myWorkspaces = ["1","2","3","4","5","6","7","8","9"] +myNormalBorderColor = "#dddddd" +myFocusedBorderColor = "#ff0000" +myDefaultGaps = [(14,0,0,0)] + +myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $ + [ ((modMask, xK_Return), spawn $ XMonad.terminal conf) + , ((modMask, xK_q ), spawn "exe=`dmenu_path | dmenu` && eval \"exec $exe\"") + , ((modMask, xK_l ), spawn "xscreensaver-command -lock") + , ((modMask .|. shiftMask, xK_c ), kill) + , ((modMask, xK_space ), sendMessage NextLayout) + , ((modMask .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf) + , ((modMask, xK_r ), windows W.focusDown) + , ((modMask, xK_g ), windows W.focusUp ) + , ((modMask, xK_m ), windows W.focusMaster ) + , ((modMask .|. shiftMask, xK_r ), windows W.swapDown ) + , ((modMask .|. shiftMask, xK_g ), windows W.swapUp ) + , ((modMask, xK_n ), sendMessage Shrink) + , ((modMask, xK_t ), sendMessage Expand) + , ((modMask, xK_h ), withFocused $ windows . W.sink) + , ((modMask, xK_comma ), sendMessage (IncMasterN 1)) + , ((modMask, xK_period), sendMessage (IncMasterN (-1))) + , ((modMask, xK_k ), spawn "amixer -c 0 set PCM 2dB+") + , ((modMask, xK_s ), spawn "amixer -c 0 set PCM 2dB-") + , ((modMask, xK_b ), + modifyGap (\i n -> let x = (XMonad.defaultGaps conf ++ repeat (0,0,0,0)) !! i + in if n == x then (0,0,0,0) else x)) + ] + ++ + + [((m .|. modMask, k), windows $ f i) + | (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9] + , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]] + +myMouseBindings (XConfig {XMonad.modMask = modMask}) = M.fromList $ + [ ((modMask, button1), (\w -> focus w >> mouseMoveWindow w)) + , ((modMask, button2), (\w -> focus w >> windows W.swapMaster)) + , ((modMask, button3), (\w -> focus w >> mouseResizeWindow w)) + ] + +myLayout = tiled ||| Mirror tiled ||| Full + where + tiled = Tall nmaster delta ratio + nmaster = 1 + ratio = 1/2 + delta = 1/100 + +myManageHook = composeAll + [ className =? "MPlayer" --> doFloat + , className =? "Skype" --> doFloat + , className =? "Twinkle" --> doFloat + , className =? "VirtualBox" --> doFloat + , className =? "Gimp" --> doFloat + , className =? "Qemu-launcher" --> doFloat + , className =? "Default - Wine desktop" --> doFloat + ] + +myFocusFollowsMouse :: Bool +myFocusFollowsMouse = True + +myLogHook = return () + +main = xmonad defaults + +defaults = defaultConfig { + terminal = myTerminal, + focusFollowsMouse = myFocusFollowsMouse, + borderWidth = myBorderWidth, + modMask = myModMask, + numlockMask = myNumlockMask, + workspaces = myWorkspaces, + normalBorderColor = myNormalBorderColor, + focusedBorderColor = myFocusedBorderColor, + defaultGaps = myDefaultGaps, + + keys = myKeys, + mouseBindings = myMouseBindings, + + layoutHook = myLayout, + manageHook = myManageHook, + logHook = myLogHook + } |