view .xmonad/xmonad.hs @ 493:1bb1c44ce49c

systemd: unit file for auto-starting emacs daemon
author Augie Fackler <raf@durin42.com>
date Wed, 15 Jul 2020 20:30:26 -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)
         ]