Skip to content

Instantly share code, notes, and snippets.

@manzyuk
Created December 23, 2010 20:05
Show Gist options
  • Save manzyuk/753471 to your computer and use it in GitHub Desktop.
Save manzyuk/753471 to your computer and use it in GitHub Desktop.
xmonad configuration
import XMonad
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Layout.NoBorders
import XMonad.Layout.ToggleLayouts
import XMonad.Util.Run (spawnPipe)
import XMonad.Util.EZConfig (additionalKeysP)
import System.IO
myLogHook xmobar = dynamicLogWithPP $ defaultPP
{ ppOutput = hPutStrLn xmobar
, ppTitle = xmobarColor "white" "" . pad . shorten 125
, ppHiddenNoWindows = xmobarColor "#444444" "" . pad
, ppHidden = pad
, ppSep = ""
, ppWsSep = ""
, ppLayout = pad . \x -> case x of
"Tall" -> "[|]"
"Mirror Tall" -> "[-]"
"Full" -> "[ ]"
_ -> "[?]"
}
main = do
xmobar <- spawnPipe "xmobar ~/.top_xmobarrc"
xmonad $ defaultConfig
{ focusFollowsMouse = False
, borderWidth = 2
, modMask = mod4Mask
, manageHook = manageDocks <+> manageHook defaultConfig
, layoutHook = avoidStruts
$ toggleLayouts (noBorders Full)
$ layoutHook defaultConfig
, logHook = myLogHook xmobar
}
`additionalKeysP`
[ ("<XF86AudioMute>", spawn "amixer -q set Master toggle")
, ("<XF86AudioLowerVolume>", spawn "amixer -q set Master 1- unmute")
, ("<XF86AudioRaiseVolume>", spawn "amixer -q set Master 1+ unmute")
-- Toggle fullscreen mode
, ("<F11>", sendMessage ToggleStruts >> sendMessage ToggleLayout)
-- Case insensitive dmenu at the bottom of the screen
, ("M-p", spawn "exe=`dmenu_path | dmenu -b -i` && exec $exe")
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment