Personal tools

Xmonad/Config archive/Don's xmonad.hs

From HaskellWiki

< Xmonad | Config archive(Difference between revisions)
Jump to: navigation, search
 
(6 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.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
 
import XMonad.Layout.NoBorders
  
main = dzen $ \x -> xmonad $ x
+
main = do
         { terminal           = "term"
+
    conf <- dzen defaultConfig
         , normalBorderColor  = "#333333"
+
    xmonad $ conf
        , focusedBorderColor = "red"
+
         { terminal   = "term"
         , layoutHook         = smartBorders (layoutHook x)
+
         , startupHook = setWMName "LG3D"
        , manageHook         =
+
         , layoutHook = smartBorders (layoutHook conf)
                manageHook x <+>
+
--      , manageHook = composeOne [ isFullscreen -?> doFullFloat ]
                    (className =? "Toplevel" --> doFloat)
+
 
         }
 
         }
 +
        `additionalKeys`
 +
        [ ((modMask conf , xK_p), runOrRaisePrompt defaultXPConfig { position = Top })]
 
</haskell>
 
</haskell>
  
Line 44: Line 50:
  
 
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>
  
 
[[Category:XMonad configuration]]
 
[[Category:XMonad configuration]]

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