Xmonad/Config archive/k6b (kyle's) xmonad.hs
From HaskellWiki
< Xmonad | Config archive(Difference between revisions)
(k6b xmonad.hs) |
(Added PerWorkspace layouts) |
||
| Line 17: | Line 17: | ||
myWorkspaces = ["Don't","Panic!","::k6b::",".42.","5","6","7","8","9"] --list of tag names | myWorkspaces = ["Don't","Panic!","::k6b::",".42.","5","6","7","8","9"] --list of tag names | ||
myManageHook = composeAll | myManageHook = composeAll | ||
| - | [ className =? " | + | [ className =? "vlc" --> doFloat --float mplayer |
| - | + | ||
, className =? "Gimp" --> doShift ".42." --move gimp to window | , className =? "Gimp" --> doShift ".42." --move gimp to window | ||
, className =? "Keepassx" --> doCenterFloat --float keepassx | , className =? "Keepassx" --> doCenterFloat --float keepassx | ||
| Line 24: | Line 23: | ||
, className =? "feh" --> doCenterFloat --center and float feh | , className =? "feh" --> doCenterFloat --center and float feh | ||
] | ] | ||
| - | myLayoutHook = | + | myLayoutHook = onWorkspace ".42." gimp $ onWorkspace "Don't" terminalLayout $ onWorkspace "Panic!" webLayout $ standardLayout --per workspace layouts |
where | where | ||
| - | tall = Tall nmaster delta ratio --define tall layout sizes | + | standardLayout = avoidStruts ( Mirror tall ||| tall ||| Grid ||| Full ) --layout to use on every other workspace |
| - | + | where | |
| - | + | tall = Tall nmaster delta ratio --define tall layout sizes | |
| - | delta = 2/100 | + | nmaster = 1 --number of windows in master pane |
| + | ratio = 1/2 --ratio of master pane size | ||
| + | delta = 2/100 | ||
| + | |||
| + | gimp = avoidStruts $ --layout for gimp | ||
| + | withIM (0.11) (Role "gimp-toolbox") $ --toolbox on side | ||
| + | reflectHoriz $ | ||
| + | withIM (0.15) (Role "gimp-dock") Full --dock on side | ||
| + | terminalLayout = avoidStruts $ Grid --layout for terminal windows | ||
| + | webLayout = avoidStruts $ Mirror tall --layout for browser and terminal window | ||
| + | where | ||
| + | tall = Tall nmaster delta ratio --define tall layout sizes | ||
| + | nmaster = 1 --number of windows in master pane1 | ||
| + | ratio = 3/4 --ratio of master pane size | ||
| + | delta = 2/100 | ||
--xmobar config | --xmobar config | ||
myLogHook h = dynamicLogWithPP xmobarPP | myLogHook h = dynamicLogWithPP xmobarPP | ||
| Line 60: | Line 73: | ||
, ((mod4Mask, xK_F1), manPrompt defaultXPConfig) --man prompt | , ((mod4Mask, xK_F1), manPrompt defaultXPConfig) --man prompt | ||
, ((0, xK_Print), spawn "'scrot' -e 'mv $f ~/pictures/screenshots'") --take screenshot | , ((0, xK_Print), spawn "'scrot' -e 'mv $f ~/pictures/screenshots'") --take screenshot | ||
| + | ---Media Keys | ||
, ((0, 0x1008ff13), spawn "amixer -q set Master 2dB+") --raise sound | , ((0, 0x1008ff13), spawn "amixer -q set Master 2dB+") --raise sound | ||
, ((0, 0x1008ff11), spawn "amixer -q set Master 1dB-") --lower sound | , ((0, 0x1008ff11), spawn "amixer -q set Master 1dB-") --lower sound | ||
, ((0, 0x1008ff12), spawn "amixer -q set Master toggle") --mute sound | , ((0, 0x1008ff12), spawn "amixer -q set Master toggle") --mute sound | ||
| + | , ((0, 0x1008ff2c), spawn "eject") --eject cd | ||
] | ] | ||
</haskell> | </haskell> | ||
Current revision
import XMonad import XMonad.Hooks.DynamicLog import XMonad.Hooks.ManageDocks import XMonad.Hooks.ManageHelpers import XMonad.Util.Run(spawnPipe) import XMonad.Util.EZConfig(additionalKeys) import XMonad.Layout.IM import XMonad.Layout.PerWorkspace import XMonad.Layout.Reflect import XMonad.Layout.Grid import XMonad.Prompt import XMonad.Prompt.Man import System.IO myTerminal = "urxvtc" --my preferred terminal myWorkspaces = ["Don't","Panic!","::k6b::",".42.","5","6","7","8","9"] --list of tag names myManageHook = composeAll [ className =? "vlc" --> doFloat --float mplayer , className =? "Gimp" --> doShift ".42." --move gimp to window , className =? "Keepassx" --> doCenterFloat --float keepassx , className =? "Firefox" --> doShift "Panic!" --move firefox to window , className =? "feh" --> doCenterFloat --center and float feh ] myLayoutHook = onWorkspace ".42." gimp $ onWorkspace "Don't" terminalLayout $ onWorkspace "Panic!" webLayout $ standardLayout --per workspace layouts where standardLayout = avoidStruts ( Mirror tall ||| tall ||| Grid ||| Full ) --layout to use on every other workspace where tall = Tall nmaster delta ratio --define tall layout sizes nmaster = 1 --number of windows in master pane ratio = 1/2 --ratio of master pane size delta = 2/100 gimp = avoidStruts $ --layout for gimp withIM (0.11) (Role "gimp-toolbox") $ --toolbox on side reflectHoriz $ withIM (0.15) (Role "gimp-dock") Full --dock on side terminalLayout = avoidStruts $ Grid --layout for terminal windows webLayout = avoidStruts $ Mirror tall --layout for browser and terminal window where tall = Tall nmaster delta ratio --define tall layout sizes nmaster = 1 --number of windows in master pane1 ratio = 3/4 --ratio of master pane size delta = 2/100 --xmobar config myLogHook h = dynamicLogWithPP xmobarPP { ppHidden = xmobarColor "grey" "" --tag color , ppOutput = hPutStrLn h --tag list and window title , ppTitle = xmobarColor "green" "" --window title color } myStatusBar = "xmobar" --define first xmobar myStartupHook :: X () myStartupHook = do spawn "xmobar ~/.xmobarrc2" --start second xmobar spawn "~/scripts/startup.sh" --startup script main = do din <- spawnPipe myStatusBar xmonad $ defaultConfig { manageHook = manageDocks <+> myManageHook <+> manageHook defaultConfig , layoutHook = myLayoutHook , logHook = myLogHook din , startupHook = myStartupHook , terminal = myTerminal , workspaces = myWorkspaces , modMask = mod4Mask } `additionalKeys` [ ((mod4Mask, xK_f), spawn "firefox") --start firefox , ((mod4Mask, xK_F11), spawn "sudo /sbin/reboot") --reboot , ((mod4Mask, xK_F12), spawn "sudo /sbin/shutdown -h now") --shutdown , ((mod4Mask, xK_p), spawn "dmenu_run -nb black -nf white") --call dmenu , ((mod4Mask .|. shiftMask, xK_h), spawn "feh --scale ~/pictures/Xmbindings.png") --keymask dialog , ((mod4Mask, xK_F1), manPrompt defaultXPConfig) --man prompt , ((0, xK_Print), spawn "'scrot' -e 'mv $f ~/pictures/screenshots'") --take screenshot ---Media Keys , ((0, 0x1008ff13), spawn "amixer -q set Master 2dB+") --raise sound , ((0, 0x1008ff11), spawn "amixer -q set Master 1dB-") --lower sound , ((0, 0x1008ff12), spawn "amixer -q set Master toggle") --mute sound , ((0, 0x1008ff2c), spawn "eject") --eject cd ]
