view .xmonad/xmonad.hs @ 325:64e73453e43f

xmonad: Pull apart custom layout into something readable This change doesn't affect any behavior, but it does document the custom layout by naming function parameters. Hopefully, this will make things easier to fix the next time the XMonad developers break us.
author Lucas Bergman <lucas@bergmans.us>
date Tue, 11 Mar 2014 12:49:05 -0500
parents 93a8f55a4e30
children
line wrap: on
line source

import XMonad

import XMonad
import XMonad.Config.Gnome
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.ICCCMFocus
import XMonad.Layout
import XMonad.Layout.Column
import XMonad.Layout.LayoutBuilder
import XMonad.Util.EZConfig
import XMonad.Util.Run(spawnPipe)

myLayout = (augieLayout 2) ||| (augieLayout 1) ||| Full

augieLayout num = layoutN num mainBox (Just overflowBox) layout overflowLayout
  where
    mainBox = relBox 0 0 1 mainHeightFrac
    overflowBox = relBox 0 0 1 1
    layout = Tall 1 0.03 mainWidthFrac
    overflowLayout = layoutAll (relBox 0 mainHeightFrac 1 1) singleRow
    mainHeightFrac = 0.75  -- main area takes up this much screen height
    mainWidthFrac = 0.75   -- main window takes up this much screen width
    singleRow = Mirror $ Column 1

myDmenuTitleBar =
    "exec `dmenu_path | dmenu\
        \ -p 'Run:'`"

main :: IO ()
main = do
     xmonad $ gnomeConfig
       { terminal = "urxvt -sr -bg Black -fg White"
       , modMask = mod4Mask
       , layoutHook = avoidStruts myLayout
       , logHook = takeTopFocus
       } `additionalKeys` [
         ((mod4Mask, xK_a), spawn "gnome-screensaver-command --lock")
       , ((mod4Mask, xK_p), spawn myDmenuTitleBar)
         ]