Personal tools

Xmonad/Config archive/Don's xmonad.hs

From HaskellWiki

< Xmonad | Config archive(Difference between revisions)
Jump to: navigation, search
 
(5 intermediate revisions by 3 users not shown)
Line 6: Line 6:
 
<haskell>
 
<haskell>
 
import XMonad
 
import XMonad
import qualified Data.Map as M
+
import XMonad.Hooks.DynamicLog
  +
import XMonad.Util.EZConfig
  +
import XMonad.Prompt
  +
import XMonad.Prompt.RunOrRaise
  +
import XMonad.Hooks.SetWMName
  +
import XMonad.Hooks.ManageHelpers
 
import XMonad.Hooks.ManageDocks
 
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.DynamicLog
+
import XMonad.Layout.NoBorders
 
main = dzen $ \x -> xmonad $ x
 
{ terminal = "term"
 
, normalBorderColor = "#333333"
 
, focusedBorderColor = "red"
 
, layoutHook = avoidStrutsOn [U] (layoutHook x)
 
, keys = \c -> mykeys c `M.union` keys x c
 
, manageHook =
 
(manageHook x <+>
 
(className =? "Toplevel" --> doFloat)) <+> manageDocks
 
   
  +
main = do
  +
conf <- dzen defaultConfig
  +
xmonad $ conf
  +
{ terminal = "term"
  +
, startupHook = setWMName "LG3D"
  +
, layoutHook = smartBorders (layoutHook conf)
  +
-- , manageHook = composeOne [ isFullscreen -?> doFullFloat ]
 
}
 
}
+
`additionalKeys`
mykeys (XConfig{modMask=modm}) = M.fromList
+
[ ((modMask conf , xK_p), runOrRaisePrompt defaultXPConfig { position = Top })]
[((modm, xK_b ), sendMessage ToggleStruts)
 
]
 
 
</haskell>
 
</haskell>
   
Line 38: Line 45:
   
 
PATH=/home/dons/bin:$PATH
 
PATH=/home/dons/bin:$PATH
  +
  +
trayer --transparent true --widthtype request --height 18 --align right --edge top --expand true &
  +
gnome-power-manager &
  +
nm-applet &
   
 
# launch the external 60 second clock, and launch the workspace status bar
 
# launch the external 60 second clock, and launch the workspace status bar
 
FG='#a8a3f7'
 
FG='#a8a3f7'
 
BG='#3f3c6d'
 
BG='#3f3c6d'
#FONT="-xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso8859-1"
 
xmonad-clock | dzen2 -e '' -x 400 -w 1200 -ta r -fg $FG -bg $BG &
 
   
xmonad &
 
   
# wait for xmonad
+
while true ; do date ; sleep 60 ; done | dzen2 -e '' -x 400 -w $off -ta r -fg $FG -bg $BG -p &
wait $!
+
pkill -HUP dzen2
+
dbus-launch --exit-with-session xmonad
pkill -HUP -f xmonad-clock
 
wait
 
 
</haskell>
 
</haskell>
   

Latest revision as of 18:14, 21 February 2009

Configuration files get much simpler in xmonad 0.5, as you just override those values you need to.

This is the ~/.xmonad/xmonad.hs file.

import XMonad
import XMonad.Hooks.DynamicLog
import XMonad.Util.EZConfig
import XMonad.Prompt
import XMonad.Prompt.RunOrRaise
import XMonad.Hooks.SetWMName 
import XMonad.Hooks.ManageHelpers
import XMonad.Hooks.ManageDocks
import XMonad.Layout.NoBorders
 
main = do
    conf <- dzen defaultConfig
    xmonad $ conf
        { terminal    = "term"
        , startupHook = setWMName "LG3D"
        , layoutHook = smartBorders (layoutHook conf)
--      , manageHook = composeOne [ isFullscreen -?> doFullFloat ]
        }
         `additionalKeys`
        [ ((modMask conf , xK_p), runOrRaisePrompt defaultXPConfig { position = Top })]

Launches dzen on startup, with some good defaults.

My .xinitrc:

# .xinitrc
 
xrandr -s 0
 
xrdb $HOME/.Xresources
xsetroot -cursor_name left_ptr
xsetroot -solid '#80a0af'
 
xset b 100 0 0
xset r rate 140 200
 
xmodmap -e "keycode 233 = Page_Down"
xmodmap -e "keycode 234 = Page_Up"
xmodmap -e "remove Lock = Caps_Lock"
xmodmap -e "keysym Caps_Lock = Control_L"
xmodmap -e "add Control = Control_L"
 
PATH=/home/dons/bin:$PATH
 
trayer --transparent true --widthtype request --height 18 --align right --edge top --expand true &
gnome-power-manager &
nm-applet &
 
# launch the external 60 second clock, and launch the workspace status bar
FG='#a8a3f7' 
BG='#3f3c6d' 
 
 
while true ; do date ; sleep 60 ; done | dzen2 -e '' -x 400 -w $off -ta r -fg $FG -bg $BG -p &
 
dbus-launch --exit-with-session xmonad