Xmonad/Config archive/nattfodd's xmonad.hs
From HaskellWiki
(Difference between revisions)
| Line 1: | Line 1: | ||
<haskell>import XMonad | <haskell>import XMonad | ||
| - | import XMonad. | + | import XMonad.Layout |
import XMonad.Operations | import XMonad.Operations | ||
import XMonad.Hooks.DynamicLog | import XMonad.Hooks.DynamicLog | ||
| + | import XMonad.Hooks.ManageDocks | ||
import qualified Data.Map as M | import qualified Data.Map as M | ||
import Graphics.X11 | import Graphics.X11 | ||
| Line 22: | Line 23: | ||
xmonad $ defaultConfig | xmonad $ defaultConfig | ||
{ workspaces = workspaces' | { workspaces = workspaces' | ||
| - | |||
, layoutHook = layoutHook' | , layoutHook = layoutHook' | ||
| + | , manageHook = manageDocks <+> manageHook defaultConfig | ||
, terminal = "/home/heimdall/scripts/urxvt" | , terminal = "/home/heimdall/scripts/urxvt" | ||
, normalBorderColor = "#dddddd" | , normalBorderColor = "#dddddd" | ||
| Line 34: | Line 35: | ||
bg = "'#2c2c32'" | bg = "'#2c2c32'" | ||
fn = "'-*-profont-*-*-*-*-12-*-*-*-*-*-*'" | fn = "'-*-profont-*-*-*-*-12-*-*-*-*-*-*'" | ||
| - | flags = "-e '' -w | + | flags = "-e '' -w 600 -ta l -fg " ++ fg ++ " -bg " ++ bg ++ " -fn " ++ fn |
| - | + | layoutHook' = layout'-- $ withUrgencyHook dzenUrgencyHook { args = ["-bg", "darkgreen", "-xs", "1"] } | |
| - | + | layout' = avoidStruts (smartBorders (tiled ||| Mirror tiled ||| Full)) | |
| - | + | where | |
| - | + | tiled = Tall nmaster delta ratio | |
| - | + | nmaster = 1 -- The default number of windows in the master pane | |
| - | + | ratio = 2%3 -- Default proportion of screen occupied by master pane | |
| - | + | delta = 5%100 -- Percent of screen to increment by when resizing panes | |
| - | + | ||
| - | + | ||
keys' = [((m .|. mod1Mask, k), windows $ f i) | keys' = [((m .|. mod1Mask, k), windows $ f i) | ||
| (i, k) <- zip workspaces' [0x26,0xe9,0x22,0x27,0x28,0x2d,0xe8,0x5f,0xe7,0xe0,xK_a,xK_z,xK_e,xK_r] | | (i, k) <- zip workspaces' [0x26,0xe9,0x22,0x27,0x28,0x2d,0xe8,0x5f,0xe7,0xe0,xK_a,xK_z,xK_e,xK_r] | ||
, (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]] | , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]] | ||
| - | ++ [((mod1Mask, 0x3b), sendMessage (IncMasterN (-1)))] | + | ++ |
| + | [((mod1Mask , 0x3b), sendMessage (IncMasterN (-1)))]-- %! Deincrement the number of windows in the master area | ||
| + | ++ | ||
| + | [((mod1Mask , xK_b), sendMessage ToggleStruts)]-- %! Deincrement the number of windows in the master area | ||
-- Launch xmonad with the following: | -- Launch xmonad with the following: | ||
Revision as of 21:24, 4 April 2008
import XMonad import XMonad.Layout import XMonad.Operations import XMonad.Hooks.DynamicLog import XMonad.Hooks.ManageDocks import qualified Data.Map as M import Graphics.X11 import qualified XMonad.StackSet as W import Data.Bits ((.|.)) import Data.Ratio ((%)) import System.IO -- XMonadContrib -- import XMonad.Util.Dzen import XMonad.Layout.NoBorders import XMonad.Hooks.UrgencyHook import XMonad.Util.EZConfig import XMonad.Util.Run main = do h <- spawnPipe ("dzen2" ++ " " ++ flags) xmonad $ defaultConfig { workspaces = workspaces' , layoutHook = layoutHook' , manageHook = manageDocks <+> manageHook defaultConfig , terminal = "/home/heimdall/scripts/urxvt" , normalBorderColor = "#dddddd" , logHook = dynamicLogWithPP defaultPP { ppOutput = hPutStrLn h } , focusedBorderColor = "#aa0000" } `additionalKeys` keys' where fg = "'grey70'" bg = "'#2c2c32'" fn = "'-*-profont-*-*-*-*-12-*-*-*-*-*-*'" flags = "-e '' -w 600 -ta l -fg " ++ fg ++ " -bg " ++ bg ++ " -fn " ++ fn layoutHook' = layout'-- $ withUrgencyHook dzenUrgencyHook { args = ["-bg", "darkgreen", "-xs", "1"] } layout' = avoidStruts (smartBorders (tiled ||| Mirror tiled ||| Full)) where tiled = Tall nmaster delta ratio nmaster = 1 -- The default number of windows in the master pane ratio = 2%3 -- Default proportion of screen occupied by master pane delta = 5%100 -- Percent of screen to increment by when resizing panes keys' = [((m .|. mod1Mask, k), windows $ f i) | (i, k) <- zip workspaces' [0x26,0xe9,0x22,0x27,0x28,0x2d,0xe8,0x5f,0xe7,0xe0,xK_a,xK_z,xK_e,xK_r] , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]] ++ [((mod1Mask , 0x3b), sendMessage (IncMasterN (-1)))]-- %! Deincrement the number of windows in the master area ++ [((mod1Mask , xK_b), sendMessage ToggleStruts)]-- %! Deincrement the number of windows in the master area -- Launch xmonad with the following: -- -- #!/bin/sh -- -- FG='grey70' -- BG='#2c2c32' -- FONT='-*-profont-*-*-*-*-12-*-*-*-*-*-*' -- -- while (true); do ~/scripts/weather.pl; done & -- xmonad-acpi | dzen2 -e '' -x 600 -w 768 -ta r -fg $FG -bg $BG -fn $FONT & -- xmonad & -- -- wait $! -- pkill -HUP dzen2 -- pkill -HUP -f xmonad-acpi -- wait
