-- vim: noet: import XMonad import XMonad.Config.Gnome import XMonad.Layout.NoBorders import XMonad.Layout.ResizableTile import XMonad.Layout.Tabbed import XMonad.Layout.ThreeColumns import XMonad.Hooks.ManageDocks import XMonad.Hooks.ManageHelpers import XMonad.Hooks.EwmhDesktops import XMonad.Hooks.SetWMName import XMonad.Actions.CycleWS --for toggleWS import XMonad.Util.EZConfig import Data.List (isPrefixOf) import qualified XMonad.StackSet as W myManageHook :: ManageHook myManageHook = composeAll [ className =? "Firefox" --> doShift "1", className =? "Iceweasel" --> doShift "1", className =? "Chromium" --> doShift "1", className =? "Xfce4-notifyd" --> doF W.focusDown, className =? "MPlayer" --> doFloat, className =? "mplayer2" --> doFloat, className =? "Wine" --> doFloat, className =? "graphics-console"--> doFloat, className =? "kvm" --> doFloat, className =? "Gimp-2.6" --> doFloat, className =? "Gimp" --> doFloat, className =? "Stepmania" --> doFloat, className =? "Plasma" --> doFloat, className =? "Xfrun4" --> doFloat, className =? "Wrapper" --> doFloat, className =? "gource" --> doFloat, isFullscreen --> doFullFloat, manageDocks ] myLayout = avoidStruts $ smartBorders $ tiled ||| Mirror tiled ||| simpleTabbedAlways where tcol = ThreeColMid nmaster delta 0.4 tiled = ResizableTall nmaster delta ratio [] nmaster = 1 delta = 3 / 100 --ratio = toRational (2/(1 + sqrt 5 :: Double)) ratio = 0.5 main :: IO () main = xmonad $ gnomeConfig { workspaces = ["1","2","3","4","5","6","7","8","9","0"], terminal = "gnome-terminal --hide-menubar", manageHook = manageHook gnomeConfig <+> myManageHook, layoutHook = myLayout, logHook = ewmhDesktopsLogHook >> setWMName "LG3D", XMonad.borderWidth = 2, XMonad.normalBorderColor = "gray", XMonad.focusedBorderColor = "blue", focusFollowsMouse = False } `additionalKeysP` [ ("M-", toggleWS), --("M-`", shiftTo Next EmptyWS), ("M-0", windows $ W.greedyView "0"), ("M-S-0", windows $ W.shift "0"), ("", spawn "scrot ~/screenshot.png -e bin/uplss"), ("M-", spawn "scrot ~/screenshot.png -s -e bin/uplss"), ("S-", spawn "scrot ~/screenshot.png"), ("M-S-", spawn "scrot ~/screenshot.png -s"), ("M-S-t", withFocused $ windows . W.sink), ("", spawn "mocp -G"), -- XF86AudioPlay (pause) ("", spawn "mocp -f"), -- XF86AudioNext ("", spawn "mocp -r"), -- XF86AudioPrev ("", spawn "mocp -s") -- XF86AudioStop ] `removeKeysP` [ "M-e", "M-r", "M-b", "M-t" ]