view .xmonad/xmonad.hs @ 336:ea73ef5dc38c

emacs: avoid weird package.el breakage with newish packages I've been toting around this package.el from 2009 or so, and something in the package format seems to have changed that broke me. Thanks to some related diagnostics by Lucas, I've grabbed the last package.el that worked with emacs 23 and stashed it here. This seems to work, modulo some things (notably js2-mode and smex) now seem to require emacs 24 if you install them using package.el, so this will end up being brittle on my last couple of emacs23 machines.
author Augie Fackler <raf@durin42.com>
date Thu, 29 May 2014 14:30:42 -0400
parents 64e73453e43f
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)
         ]