├── README.md └── xmonad.hs /README.md: -------------------------------------------------------------------------------- 1 | *NOTE: My XMonad configuration has been moved in with my main 2 | [dotfiles][] repo. Any future updates will occur there.* 3 | 4 | [dotfiles]: https://github.com/pbrisbin/dotfiles 5 | 6 | --- 7 | 8 | My xmonad configuration 9 | ======================= 10 | 11 | Very stock, with some minor tweaks. 12 | 13 | ## Features 14 | 15 | - dzen status bar 16 | - urxvtc as terminal 17 | - Full-screen manage hook fix 18 | - Media keys support 19 | - Yeganesh app launcher 20 | 21 | ## Requirements 22 | 23 | - A dzen that supports `-xs` 24 | - The dmenu replacement yeganesh 25 | 26 | ## Installation 27 | 28 | ~~~ 29 | $ mv ~/.xmonad{,.bak} 30 | $ git clone https://github.com/pbrisbin/xmonad-config ~/.xmonad 31 | ~~~ 32 | -------------------------------------------------------------------------------- /xmonad.hs: -------------------------------------------------------------------------------- 1 | ------------------------------------------------------------------------------- 2 | -- | 3 | -- 4 | -- xmonad.hs, pbrisbin 2012 5 | -- 6 | -- 7 | -- 8 | ------------------------------------------------------------------------------- 9 | import XMonad 10 | import XMonad.Hooks.DynamicLog 11 | import XMonad.Hooks.ManageHelpers 12 | import XMonad.Hooks.UrgencyHook 13 | import XMonad.Util.EZConfig 14 | import XMonad.Util.WorkspaceCompare 15 | 16 | main :: IO () 17 | main = do 18 | conf <- statusBar "dzen2 -p -xs 1 -ta l -fn Verdana-12 -e 'onstart=lower'" 19 | dzenPP 20 | { ppHidden = pad 21 | , ppTitle = pad . dzenColor "#bbb" "" . dzenEscape 22 | , ppLayout = const "" 23 | , ppSort = getSortByXineramaRule 24 | } 25 | toggleStrutsKey 26 | $ withUrgencyHook NoUrgencyHook 27 | $ defaultConfig 28 | { terminal = "urxvtc" 29 | , manageHook = composeAll 30 | [ isFullscreen --> doFullFloat 31 | , manageHook defaultConfig 32 | ] 33 | } 34 | `additionalKeysP` 35 | [ ("M-p", spawn "x=$(yeganesh -x -- -i -fn Verdana-12) && exec $x") 36 | , ("M-q", spawn "killall dzen2; xmonad --recompile && xmonad --restart") 37 | , ("", spawn "amixer sset Master 3%+") 38 | , ("", spawn "amixer sset Master 3%-") 39 | , ("", spawn "amixer sset Master toggle") 40 | ] 41 | 42 | xmonad conf 43 | 44 | -- | The unexported X.H.DynamicLog.toggleStrutsKey 45 | toggleStrutsKey :: XConfig l -> (KeyMask, KeySym) 46 | toggleStrutsKey XConfig { modMask = modm } = (modm, xK_b) 47 | --------------------------------------------------------------------------------