Difference between revisions of "Xmonad/Config archive/nattfodd's xmonad.hs"
< Xmonad | Config archive
Jump to navigation
Jump to search
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' |
||
− | , defaultGaps = [(14,0,0,0)] |
||
, 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"] } |
||
− | workspaces' = map show [1 .. 13 :: Int] |
||
+ | layout' = avoidStruts (smartBorders (tiled ||| Mirror tiled ||| Full)) |
||
− | layoutHook' = tiled |
||
− | + | where |
|
− | + | tiled = Tall nmaster delta ratio |
|
⚫ | |||
⚫ | |||
− | + | ratio = 2%3 -- Default proportion of screen occupied by master pane |
|
− | + | delta = 5%100 -- Percent of screen to increment by when resizing panes |
|
⚫ | |||
− | 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)))]-- %! 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