diff options
Diffstat (limited to 'XMonad')
-rw-r--r-- | XMonad/Config/Sjanssen.hs | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/XMonad/Config/Sjanssen.hs b/XMonad/Config/Sjanssen.hs new file mode 100644 index 0000000..81adec8 --- /dev/null +++ b/XMonad/Config/Sjanssen.hs @@ -0,0 +1,50 @@ +module XMonad.Config.Sjanssen (sjanssenConfig) where + +import XMonad +import qualified XMonad.StackSet as W +import XMonad.Layouts +import XMonad.Layout.Tabbed +import XMonad.Operations +import XMonad.DefaultConfig (defaultConfig) +import XMonad.Layout.NoBorders +import XMonad.Hooks.DynamicLog +import XMonad.Prompt +import XMonad.Prompt.Shell + +import Data.Ratio +import Data.Bits +import qualified Data.Map as M +import Graphics.X11 + +sjanssenConfig = defaultConfig + { defaultGaps = [(15,0,0,0)] + , terminal = "urxvt" + , workspaces = ["irc", "web"] ++ map show [3..7] ++ ["mail", "im"] + , logHook = dynamicLogWithPP sjanssenPP + , modMask = mod4Mask + , mouseBindings = \(XConfig {modMask = modMask}) -> M.fromList $ + [ ((modMask, button1), (\w -> focus w >> mouseMoveWindow w)) + , ((modMask, button2), (\w -> focus w >> windows W.swapMaster)) + , ((modMask .|. shiftMask, button1), (\w -> focus w >> mouseResizeWindow w)) ] + , keys = \c -> mykeys c `M.union` keys defaultConfig c + , layoutHook = Layout (smartBorders (tiled ||| Mirror tiled ||| Full ||| tabbed shrinkText defaultTConf)) + } + where + mykeys (XConfig {modMask = modMask}) = M.fromList $ + [((modMask, xK_p ), shellPrompt myPromptConfig)] + -- default tiling algorithm partitions the screen into two panes + tiled = Tall nmaster delta ratio + + -- The default number of windows in the master pane + nmaster = 1 + + -- Default proportion of screen occupied by master pane + ratio = 1%2 + + -- Percent of screen to increment by when resizing panes + delta = 3%100 + +myPromptConfig = defaultXPConfig + { position = Top + , promptBorderWidth = 0 + } |