Skip to content

Instantly share code, notes, and snippets.

@numberten
Created June 2, 2014 04:51
Show Gist options
  • Save numberten/ee26f6fd54aed310e3db to your computer and use it in GitHub Desktop.
Save numberten/ee26f6fd54aed310e3db to your computer and use it in GitHub Desktop.
my xmonad config
import System.IO (hPutStrLn)
import XMonad
import XMonad.Actions.SpawnOn
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Layout.NoBorders
import XMonad.Util.EZConfig(additionalKeys)
import XMonad.Util.Run(spawnPipe)
-- Define workspaces
myWorkspaces = ["1:web","2:irc","3","4","5","6","7","8","9:vlc"]
main = do
startup <- spawn "/home/jesse/.xmonad/start_xmonad.sh"
xmobar <- spawnPipe "/home/jesse/.cabal/bin/xmobar"
xmonad $ defaultConfig
{
terminal = "terminator"
, workspaces = myWorkspaces
, modMask = mod4Mask
--Border Config
, normalBorderColor = colorNormalBorder
, focusedBorderColor = colorFocusedBorder
, borderWidth = 2
--ManageHook for xmobar + spawnOn
, manageHook = manageSpawn
<+> manageDocks
<+> manageHook defaultConfig
--Xmobar dock
, layoutHook = avoidStruts
$ smartBorders
$ layoutHook defaultConfig
, logHook = myLogHook xmobar
--Startup hook
, startupHook = spawnOn "2:irc"
$ "/usr/share/terminator/terminator -T 'internet relay chat - via ec2' -e 'ssh -2 -i .ssh/milner.pem ubuntu@ec2-54-186-202-29.us-west-2.compute.amazonaws.com -t \"screen -dr\"'"
} `additionalKeys`
[
--binding for dmenu, large font, bottom of screen
((mod4Mask, xK_p), spawn "dmenu_run -fn '10x20' -b")
--binding for toggle_vertscroll
, ((mod4Mask, xK_t), spawn "/home/jesse/.xmonad/toggle_vertscroll")
--invert colours
, ((mod4Mask, xK_m), spawn "xcalib -invert -alter")
--lock screen
, ((mod4Mask .|. shiftMask, xK_l), spawn "/usr/bin/gnome-screensaver-command -l")
--brightness control
, ((mod4Mask, xK_F1), spawn "/usr/bin/xbacklight -10%")
, ((mod4Mask, xK_F2), spawn "/usr/bin/xbacklight +10%")
--sound control
, ((mod4Mask, xK_F10), spawn "/usr/bin/amixer -D pulse set Master toggle")
, ((mod4Mask, xK_F11), spawn "/usr/bin/amixer -D pulse set Master 5%-")
, ((mod4Mask, xK_F12), spawn "/usr/bin/amixer -D pulse set Master 5%+")
]
myLogHook h = dynamicLogWithPP $ defaultPP {
ppOutput = hPutStrLn h
, ppCurrent = xmobarColor colorOrange colorBlack
. \str -> "["++str++"]"
, ppVisible = xmobarColor colorWhite colorBlack
, ppHidden = xmobarColor colorBlue colorBlack
, ppHiddenNoWindows = \_ -> ""
, ppUrgent = xmobarColor colorGreen colorBlack
, ppWsSep = " "
, ppSep = " | "
, ppOrder = \(ws:_:c:_) -> [ws,c]
}
-- Color names are easier to remember:
colorOrange = "#FD971F"
colorBlack = "#000000"
colorPink = "#F92672"
colorGreen = "#A6E22E"
colorBlue = "#66D9EF"
colorYellow = "#E6DB74"
colorWhite = "#CCCCC6"
colorNormalBorder = "#CCCCC6"
colorFocusedBorder = "#fd971f"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment