Xmonad/Config archive/Octoploid's xmonad.hs
< Xmonad | Config archive
Jump to navigation
Jump to search
import XMonad
import XMonad.Layouts
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 :: IO ()
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 = (\_ -> "")
, ppOutput = hPutStrLn xmobar }
, modMask = mod4Mask
, layoutHook = 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) ]