2008-11-10 13:07:17 -06:00
|
|
|
import XMonad
|
2009-04-23 16:20:44 -05:00
|
|
|
import qualified XMonad.StackSet as W
|
2008-11-13 18:11:41 -06:00
|
|
|
|
|
|
|
import XMonad.Layout.Grid
|
2009-01-07 00:57:27 -05:00
|
|
|
import XMonad.Layout.NoBorders(smartBorders)
|
2008-11-13 18:11:41 -06:00
|
|
|
|
2008-11-10 13:07:17 -06:00
|
|
|
import XMonad.Hooks.DynamicLog
|
|
|
|
import XMonad.Hooks.ManageDocks
|
2008-12-19 23:13:55 -06:00
|
|
|
|
|
|
|
import XMonad.Util.Run(spawnPipe)
|
2009-01-15 22:16:40 -05:00
|
|
|
import XMonad.Util.EZConfig(additionalKeysP)
|
2009-04-23 16:20:44 -05:00
|
|
|
import XMonad.Util.Scratchpad
|
2008-12-19 23:13:55 -06:00
|
|
|
|
|
|
|
import XMonad.Prompt
|
2009-01-07 00:57:27 -05:00
|
|
|
import XMonad.Prompt.Shell(shellPrompt)
|
2009-03-30 00:44:06 -05:00
|
|
|
import XMonad.Prompt.Window
|
2008-12-19 23:13:55 -06:00
|
|
|
|
2009-01-07 00:57:27 -05:00
|
|
|
import System.IO(hPutStrLn)
|
2008-11-10 13:07:17 -06:00
|
|
|
|
2008-11-13 18:11:41 -06:00
|
|
|
myLayoutHook = tiled ||| Mirror tiled ||| Grid ||| Full
|
2008-11-14 12:48:56 -06:00
|
|
|
where
|
|
|
|
-- default tiling algorithm partitions the screen into two panes
|
|
|
|
tiled = Tall nmaster delta ratio
|
2008-11-13 18:11:41 -06:00
|
|
|
|
2008-11-14 12:48:56 -06:00
|
|
|
-- The default number of windows in the master pane
|
|
|
|
nmaster = 1
|
2008-11-13 18:11:41 -06:00
|
|
|
|
2008-11-14 12:48:56 -06:00
|
|
|
-- Default proportion of screen occupied by master pane
|
|
|
|
ratio = 1/2
|
2008-11-13 18:11:41 -06:00
|
|
|
|
2008-11-14 12:48:56 -06:00
|
|
|
-- Percent of screen to increment by when resizing panes
|
|
|
|
delta = 3/100
|
2008-11-13 18:11:41 -06:00
|
|
|
|
2008-11-10 13:07:17 -06:00
|
|
|
main = do
|
2009-04-06 15:22:14 -05:00
|
|
|
xmproc <- spawnPipe "xmobar"
|
2009-01-15 22:03:02 -05:00
|
|
|
xmonad $ defaultConfig
|
2009-04-23 16:20:44 -05:00
|
|
|
{ manageHook = manageDocks <+> manageHook defaultConfig <+> scratchpadManageHook (W.RationalRect 0.25 0.25 0.5 0.5)
|
2009-01-15 22:03:02 -05:00
|
|
|
, layoutHook = avoidStruts $ smartBorders $ myLayoutHook
|
|
|
|
, logHook = dynamicLogWithPP $ xmobarPP
|
|
|
|
{ ppOutput = hPutStrLn xmproc
|
2009-05-11 10:26:38 -05:00
|
|
|
, ppTitle = xmobarColor "#8AE234" ""
|
2009-01-15 22:03:02 -05:00
|
|
|
}
|
|
|
|
}
|
2009-01-15 22:16:40 -05:00
|
|
|
`additionalKeysP`
|
|
|
|
[ ("M-p", shellPrompt defaultXPConfig { position = Top })
|
2009-03-30 00:44:06 -05:00
|
|
|
, ("M-S-a", windowPromptGoto defaultXPConfig { position = Top })
|
|
|
|
, ("M-a", windowPromptBring defaultXPConfig { position = Top })
|
2009-04-17 16:11:19 -05:00
|
|
|
, ("M-x", sendMessage ToggleStruts)
|
2009-02-08 22:46:12 -06:00
|
|
|
, ("M-S-l", spawn "~/bin/lock")
|
2009-04-23 16:20:44 -05:00
|
|
|
, ("M-g", scratchpadSpawnAction defaultConfig)
|
2008-12-19 23:13:55 -06:00
|
|
|
]
|