Xmonad/Config archive/Octoploid's xmonad.hs
< Xmonad | Config archive
Jump to navigation
Jump to search
import XMonad.Core
import XMonad
import XMonad.Layouts
import XMonad.Operations
import XMonad.Config (defaultConfig)
import XMonad.Layout.NoBorders
import XMonad.Hooks.DynamicLog
import XMonad.Actions.RotView
import Data.Bits
import qualified Data.Map as M
import XMonad.Util.Run (spawnPipe)
import System.IO (hPutStrLn)
import Graphics.X11
main = do
xmobar <- spawnPipe "xmobar"
xmonad defaultConfig
{ defaultGaps = [(15,0,0,0)]
, normalBorderColor = "#222222"
, focusedBorderColor = "#6666ff"
, terminal = "gnome-terminal"
, logHook = dynamicLogWithPP defaultPP { ppTitle = shorten 160
, ppLayout = (\x -> "")
, ppOutput = hPutStrLn xmobar }
, modMask = mod4Mask
, layoutHook = Layout (smartBorders (tiled ||| Full))
, keys = \c -> mykeys c `M.union` keys defaultConfig c
}
where
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 = 0.618034 --golden
-- Percent of screen to increment by when resizing panes
delta = 0.03
mykeys (XConfig {modMask = modm}) = M.fromList $
[ ((controlMask .|. modm, xK_Right), rotView True)
, ((controlMask .|. modm, xK_Left), rotView False) ]