https://wiki.haskell.org/api.php?action=feedcontributions&user=Xilon&feedformat=atom
HaskellWiki - User contributions [en]
2024-03-28T22:21:27Z
User contributions
MediaWiki 1.35.5
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive/Xilon%27s_xmonad.hs&diff=18142
Xmonad/Config archive/Xilon's xmonad.hs
2008-01-06T09:06:36Z
<p>Xilon: Changed to desktop config and updated</p>
<hr />
<div>== xmonad.hs ==<br />
<haskell><br />
-- vim :fdm=marker sw=4 sts=4 ts=4 et ai:<br />
<br />
-- Imports {{{<br />
import XMonad<br />
import XMonad.Layout<br />
import XMonad.Layout.NoBorders (noBorders)<br />
import XMonad.Layout.PerWorkspace<br />
import XMonad.Layout.LayoutHints<br />
import XMonad.Layout.ThreeColumns<br />
import XMonad.Hooks.DynamicLog (PP(..), dynamicLogWithPP, wrap, defaultPP)<br />
import XMonad.Hooks.UrgencyHook<br />
import XMonad.Util.Run (spawnPipe)<br />
import qualified XMonad.StackSet as W<br />
import qualified Data.Map as M<br />
<br />
import System.IO (hPutStrLn)<br />
-- }}}<br />
<br />
-- Control Center {{{<br />
-- Colour scheme {{{<br />
myNormalBGColor = "#2e3436"<br />
myFocusedBGColor = "#414141"<br />
myNormalFGColor = "#babdb6"<br />
myFocusedFGColor = "#73d216"<br />
myUrgentFGColor = "#f57900"<br />
myUrgentBGColor = myNormalBGColor<br />
mySeperatorColor = "#2e3436"<br />
-- }}}<br />
-- Icon packs can be found here:<br />
-- http://robm.selfip.net/wiki.sh/-main/DzenIconPacks<br />
myBitmapsDir = "/home/xilon/.share/icons/dzen"<br />
myFont = "-*-terminus-medium-*-*-*-12-*-*-*-*-*-iso8859-1"<br />
-- }}}<br />
<br />
-- Workspaces {{{<br />
myWorkspaces :: [WorkspaceId]<br />
myWorkspaces = ["general", "internet", "chat", "code"] ++ map show [5..9 :: Int]<br />
-- }}}<br />
<br />
-- Keybindings {{{<br />
myKeys conf@(XConfig {modMask = modm}) = M.fromList $<br />
[<br />
((modm , xK_p), spawn ("exec `dmenu_path | dmenu -fn '" ++ myFont ++ "' -nb '" ++ myNormalBGColor ++ "' -nf '" ++ myNormalFGColor ++ "' -sb '" ++ myFocusedBGColor ++ "' -sf '" ++ myFocusedFGColor ++ "'`")),<br />
((modm , xK_g), spawn ("exec gajim-remote toggle_roster_appearance"))<br />
]<br />
++<br />
-- Remap switching workspaces to M-[asdfzxcv]<br />
[((m .|. modm, k), windows $ f i)<br />
| (i, k) <- zip (XMonad.workspaces conf) [xK_a, xK_s, xK_d, xK_f, xK_v]<br />
, (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]<br />
-- }}}<br />
<br />
statusBarCmd= "dzen2 -p -h 16 -ta l -bg '" ++ myNormalBGColor ++ "' -fg '" ++ myNormalFGColor ++ "' -w 768 -sa c -fn '" ++ myFont ++ "'"<br />
<br />
-- Main {{{<br />
main = do<br />
statusBarPipe <- spawnPipe statusBarCmd<br />
xmonad $ withUrgencyHook NoUrgencyHook $defaultConfig {<br />
modMask = mod4Mask,<br />
borderWidth = 1,<br />
terminal = "urxvtc",<br />
normalBorderColor = myNormalBGColor,<br />
focusedBorderColor = myFocusedFGColor,<br />
defaultGaps = [(16,0,0,0)],<br />
manageHook = manageHook defaultConfig <+> myManageHook,<br />
layoutHook = onWorkspace "chat" chatLayout globalLayout,<br />
workspaces = myWorkspaces,<br />
logHook = dynamicLogWithPP $ myPP statusBarPipe,<br />
keys = \c -> myKeys c `M.union` keys defaultConfig c<br />
}<br />
where<br />
globalLayout = layoutHints (tiled) ||| layoutHints (noBorders Full) ||| layoutHints (Mirror tiled) ||| layoutHints (Tall 1 (3/100) (1/2))<br />
chatLayout = layoutHints (noBorders Full)<br />
tiled = ThreeCol 1 (3/100) (1/2)<br />
-- }}}<br />
<br />
-- Window rules (floating, tagging, etc) {{{<br />
myManageHook = composeAll [<br />
className =? "Firefox-bin" --> doF(W.shift "internet"),<br />
className =? "Gajim.py" --> doF(W.shift "chat"),<br />
<br />
title =? "Gajim" --> doFloat,<br />
className =? "stalonetray" --> doIgnore,<br />
className =? "trayer" --> doIgnore<br />
]<br />
-- }}}<br />
<br />
-- Dzen Pretty Printer {{{<br />
-- Stolen from Rob [1] and modified<br />
-- [1] http://haskell.org/haskellwiki/Xmonad/Config_archive/Robert_Manea%27s_xmonad.hs<br />
myPP handle = defaultPP {<br />
ppCurrent = wrap ("^fg(" ++ myFocusedFGColor ++ ")^bg(" ++ myFocusedBGColor ++ ")^p(4)") "^p(4)^fg()^bg()",<br />
ppUrgent = wrap ("^fg(" ++ myUrgentFGColor ++ ")^bg(" ++ myUrgentBGColor ++ ")^p(4)") "^p(4)^fg()^bg()",<br />
ppVisible = wrap ("^fg(" ++ myNormalFGColor ++ ")^bg(" ++ myNormalBGColor ++ ")^p(4)") "^p(4)^fg()^bg()",<br />
ppSep = "^fg(" ++ mySeperatorColor ++ ")^r(3x3)^fg()",<br />
ppLayout = (\x -> case x of<br />
"Tall" -> " ^i(" ++ myBitmapsDir ++ "/tall.xbm) "<br />
"Mirror Tall" -> " ^i(" ++ myBitmapsDir ++ "/mtall.xbm) "<br />
"Full" -> " ^i(" ++ myBitmapsDir ++ "/full.xbm) "<br />
"ThreeCol" -> " ^i(" ++ myBitmapsDir ++ "/threecol.xbm) "<br />
"Hinted Tall" -> " ^i(" ++ myBitmapsDir ++ "/tall.xbm) "<br />
"Hinted Mirror Tall" -> " ^i(" ++ myBitmapsDir ++ "/mtall.xbm) "<br />
"Hinted Full" -> " ^i(" ++ myBitmapsDir ++ "/full.xbm) "<br />
"Hinted ThreeCol" -> " ^i(" ++ myBitmapsDir ++ "/threecol.xbm) "<br />
_ -> " " ++ x ++ " "<br />
),<br />
ppTitle = wrap ("^fg(" ++ myFocusedFGColor ++ ")") "^fg()" ,<br />
ppOutput = hPutStrLn handle<br />
}<br />
-- }}}<br />
</haskell><br />
<br />
== .xinitrc ==<br />
<haskell><br />
#!/bin/sh<br />
<br />
#<br />
# ~/.xinitrc<br />
#<br />
# Executed by startx (run your window manager from here)<br />
#<br />
<br />
# Start URxvt daemon so we can quickly open the other clients<br />
urxvtd -q -o -f<br />
[[ -x "/usr/bin/numlockx" ]] && numlockx &<br />
[[ -x "/usr/bin/unclutter" -a -z "`pidof unclutter`" ]] && \<br />
unclutter -idle 5 -root&<br />
<br />
# Set Wallpaper with feh<br />
eval `cat ~/.fehbg` &<br />
<br />
# Set mouse cursor and background colour<br />
xsetroot -cursor_name left_ptr -solid '#090909' &<br />
<br />
# Launch tray and statusbar<br />
stalonetray -i 16 --max-width 48 --icon-gravity E --geometry 48x16-0+0 -bg '#2e3436' --sticky --skip-taskbar &<br />
~/.bin/dzen.sh | dzen2 -e 'onstart=lower' -p -ta r -fn '-*-terminus-medium-*-*-*-12-*-*-*-*-*-iso8859-1' -bg '#2e3436' -fg '#babdb6' -h 16 -w 1632 &<br />
<br />
# Launch WM<br />
exec xmonad<br />
</haskell><br />
== dzen2 script ==<br />
<haskell><br />
#!/bin/zsh<br />
<br />
typeset -A DISKS<br />
###<br />
# Config<br />
###<br />
DATE_FORMAT="%a %d %b, %Y"<br />
TIME_ZONES=("Australia/Perth" "Europe/Warsaw")<br />
DISKS=(music /media/music media /media downloads /mnt/downloads)<br />
SEPERATOR=' ^fg(#86AA3F)^c(3)^fg() '<br />
BAR_BG='#7DA926'<br />
BAR_FG='#B9D56E'<br />
BAR_HH=6<br />
BAR_HW=40<br />
BAR_VH=12<br />
BAR_VW=3<br />
BAR_ARGS="-bg $BAR_BG -fg $BAR_FG -w $BAR_HW -h $BAR_HH"<br />
ICON_DIR="$HOME/.share/icons/dzen"<br />
NETWORK_INTERFACE=eth0<br />
NET_DOWN_MAX=55<br />
NET_UP_MAX=14<br />
MAILDIR=~/mail/GmailMain<br />
<br />
GLOBALIVAL=1m<br />
DATEIVAL=60<br />
TIMEIVAL=1<br />
DISKIVAL=1<br />
#CPUTEMPIVAL=5<br />
#CPUIVAL=1<br />
#NPIVAL=3<br />
NETIVAL=1<br />
<br />
<br />
###<br />
# Functions<br />
###<br />
_date()<br />
{<br />
date +${DATE_FORMAT}<br />
}<br />
<br />
_time()<br />
{<br />
local zone<br />
print_space=0<br />
for zone in $TIME_ZONES; do<br />
[[ $print_space -eq 1 ]] && print -n " "<br />
print -n "${zone:t}: $(TZ=$zone date '+%H:%M')"<br />
print_space=1<br />
done<br />
}<br />
<br />
#<br />
# Format: label1 mountpoint1 label2 mountpoint2 ... labelN mountpointN<br />
# Copied and modified from Rob<br />
get_disk_usage() {<br />
local rstr; local tstr; local i; local sep<br />
for i in ${(k)DISKS}; do<br />
tstr=$(print `df -h $DISKS[$i]|sed -ne 's/^.* \([0-9]*\)% .*/\1/p'` 100 | \<br />
gdbar -h $BAR_HH -w $BAR_HW -fg $BAR_FG -bg $BAR_BG -l "${i}" -nonl | \<br />
sed 's/[0-9]\+%//g;s/ / /g')<br />
if [ ! -z "$rstr" ]; then<br />
sep=${SEPERATOR}<br />
fi<br />
rstr="${rstr}${sep}${tstr}"<br />
done<br />
print -n $rstr<br />
}<br />
<br />
# Requires mesure<br />
get_net_rates() {<br />
local up; local down<br />
up=`mesure -K -l -c 3 -t -o $NETWORK_INTERFACE`<br />
down=`mesure -K -l -c 3 -t -i $NETWORK_INTERFACE`<br />
echo "$down $up"<br />
}<br />
<br />
#cpu_temp()<br />
#{<br />
# print -n ${(@)$(</proc/acpi/thermal_zone/THRM/temperature)[2,3]}<br />
#}<br />
#<br />
#np()<br />
#{<br />
# #MAXPOS="100"<br />
# CAPTION="^i(${ICON_DIR}/musicS.xbm)"<br />
# #POS=`mpc | sed -ne 's/^.*(\([0-9]*\)%).*$/\1/p'`<br />
# #POSM="$POS $MAXPOS"<br />
# print -n "$CAPTION "<br />
# mpc | head -n1 | tr -d '\n'<br />
# #echo "$POSM" | gdbar -h 7 -w 50 -fg $BAR_FG -bg $BAR_BG<br />
#}<br />
#<br />
#cpu()<br />
#{<br />
# gcpubar -c 2 -bg $BAR_BG -fg $BAR_FG -w $BAR_HW -h $BAR_HH | tail -n1 | tr -d '\n'<br />
#}<br />
<br />
has_new_mail() {<br />
find ${MAILDIR}/*/new -not -type d | wc -l<br />
}<br />
<br />
DATEI=0<br />
TIMEI=0<br />
DISKI=0<br />
#NPI=0<br />
#CPUTEMPI=0<br />
#CPUI=0<br />
NETI=0<br />
<br />
date=$(_date)<br />
times=$(_time)<br />
disk_usage=$(get_disk_usage)<br />
#now_playing=$(np)<br />
#temp=$(cpu_temp)<br />
#cpumeter=$(cpu)<br />
net_rates=( `get_net_rates` )<br />
<br />
while true; do<br />
[[ $DATEI -ge $DATEIVAL ]] && date=$(_date) && DATEI=0<br />
[[ $TIMEI -ge $TIMEIVAL ]] && times=$(_time) && TIMEI=0<br />
[[ $DISKI -ge $DISKIVAL ]] && disk_usage=$(get_disk_usage) && DISKI=0<br />
#[[ $NPI -ge $NPIVAL ]] && now_playing=$(np) && NPI=0<br />
#[[ $CPUI -ge $CPUIVAL ]] && cpumeter=$(cpu) && CPUI=0<br />
#[[ $CPUTEMPI -ge $CPUTEMPIVAL ]] && temp=$(cpu_temp) && CPUTEMPI=0<br />
[[ $NETI -ge $NETIVAL ]] && net_rates=( `get_net_rates` ) && NETI=0<br />
<br />
# Disk usage<br />
echo -n "${disk_usage}${SEPERATOR}"<br />
# Network<br />
echo $net_rates[1] | gdbar -nonl -s v -w $BAR_VW -h $BAR_VH -min 0 \<br />
-max $NET_DOWN_MAX -fg $BAR_FG -bg $BAR_BG<br />
echo -n " "<br />
echo $net_rates[2] | gdbar -nonl -s v -w $BAR_VW -h $BAR_VH -min 0 \<br />
-max $NET_UP_MAX -fg $BAR_FG -bg $BAR_BG<br />
echo -n "${SEPERATOR}"<br />
# Mail notification<br />
if [ `has_new_mail` -gt 0 ]; then<br />
echo -n "^fg(#73d216)"<br />
fi<br />
echo -n "^i(${ICON_DIR}/envelope2.xbm)^fg()${SEPERATOR}"<br />
# Time and date<br />
echo -n "${times}${SEPERATOR}"<br />
echo -n "${date}"<br />
echo<br />
<br />
DATEI=$(($DATEI+1))<br />
TIMEI=$(($TIMEI+1))<br />
DISKI=$(($DISKI+1))<br />
#NPI=$(($NPI+1))<br />
#CPUI=$(($CPUI+1))<br />
#CPUTEMPI=$(($CPUTEMPI+1))<br />
NETI=$(($NETI+1))<br />
<br />
sleep $GLOBALIVAL<br />
done<br />
<br />
</haskell><br />
<br />
== Preview ==<br />
[[Image:xilon-config.png|left|200px]]<br />
<br />
[[Category:XMonad configuration]]</div>
Xilon
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive/Xilon%27s_xmonad.hs&diff=17996
Xmonad/Config archive/Xilon's xmonad.hs
2007-12-25T16:48:30Z
<p>Xilon: Added custom keybindings for switching workspaces</p>
<hr />
<div>== xmonad.hs ==<br />
<haskell><br />
-- vim :fdm=marker sw=4 sts=4 ts=4 et ai:<br />
<br />
-- Imports {{{<br />
import XMonad<br />
import XMonad.Layout<br />
import XMonad.Layout.NoBorders (noBorders)<br />
import XMonad.Layout.PerWorkspace<br />
import XMonad.Layout.LayoutHints<br />
import XMonad.Hooks.DynamicLog (PP(..), dynamicLogWithPP, wrap, defaultPP)<br />
import XMonad.Hooks.UrgencyHook<br />
import XMonad.Util.Run (spawnPipe)<br />
import qualified XMonad.StackSet as W<br />
import qualified Data.Map as M<br />
<br />
import System.IO (hPutStrLn)<br />
-- }}}<br />
<br />
-- Control Center {{{<br />
-- Colour scheme {{{<br />
myNormalBGColor = "#2e3436"<br />
myFocusedBGColor = "#414141"<br />
myNormalFGColor = "#babdb6"<br />
myFocusedFGColor = "#73d216"<br />
myUrgentFGColor = "#f57900"<br />
myUrgentBGColor = myNormalBGColor<br />
mySeperatorColor = "#2e3436"<br />
-- }}}<br />
-- Icon packs can be found here:<br />
-- http://robm.selfip.net/wiki.sh/-main/DzenIconPacks<br />
myBitmapsDir = "/home/xilon/.share/icons/dzen"<br />
myFont = "-*-terminus-medium-*-*-*-12-*-*-*-*-*-iso8859-1"<br />
-- }}}<br />
<br />
-- Workspaces {{{<br />
myWorkspaces :: [WorkspaceId]<br />
myWorkspaces = ["general", "internet", "chat", "code"] ++ map show [5..9 :: Int]<br />
-- }}}<br />
<br />
-- Keybindings {{{<br />
myKeys conf@(XConfig {modMask = modm}) = M.fromList $<br />
[<br />
((modm , xK_p), spawn ("exec `dmenu_path | dmenu -fn '" ++ myFont ++ "' -nb '" ++ myNormalBGColor ++ "' -nf '" ++ myNormalFGColor ++ "' -sb '" ++ myFocusedBGColor ++ "' -sf '" ++ myFocusedFGColor ++ "'`"))<br />
]<br />
++<br />
-- Remap switching workspaces to M-[asdfzxcv]<br />
[((m .|. modm, k), windows $ f i)<br />
| (i, k) <- zip (XMonad.workspaces conf) [xK_a, xK_s, xK_d, xK_f, xK_v]<br />
, (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]<br />
-- }}}<br />
<br />
statusBarCmd= "dzen2 -p -h 16 -ta l -bg '" ++ myNormalBGColor ++ "' -fg '" ++ myNormalFGColor ++ "' -w 500 -sa c -fn '" ++ myFont ++ "'"<br />
<br />
-- Main {{{<br />
main = do<br />
statusBarPipe <- spawnPipe statusBarCmd<br />
xmonad $ withUrgencyHook NoUrgencyHook $defaultConfig {<br />
modMask = mod4Mask,<br />
borderWidth = 1,<br />
terminal = "urxvtc",<br />
normalBorderColor = myNormalBGColor,<br />
focusedBorderColor = myFocusedFGColor,<br />
defaultGaps = [(16,0,0,0)],<br />
manageHook = manageHook defaultConfig <+> myManageHook,<br />
layoutHook = onWorkspace "chat" chatLayout globalLayout,<br />
workspaces = myWorkspaces,<br />
logHook = dynamicLogWithPP $ myPP statusBarPipe,<br />
keys = \c -> myKeys c `M.union` keys defaultConfig c<br />
}<br />
where<br />
globalLayout = layoutHints (tiled) ||| noBorders Full ||| Mirror tiled<br />
chatLayout = Full<br />
tiled = Tall 1 (3/100) (1/2)<br />
-- }}}<br />
<br />
-- Window rules (floating, tagging, etc) {{{<br />
myManageHook = composeAll [<br />
className =? "Firefox-bin" --> doF(W.shift "2:internet"),<br />
className =? "Gajim.py" --> doF(W.shift "3:chat"),<br />
<br />
title =? "Gajim" --> doFloat,<br />
className =? "stalonetray" --> doIgnore,<br />
className =? "trayer" --> doIgnore<br />
]<br />
-- }}}<br />
<br />
-- Dzen Pretty Printer {{{<br />
-- Stolen from Rob [1] and modified<br />
-- [1] http://haskell.org/haskellwiki/Xmonad/Config_archive/Robert_Manea%27s_xmonad.hs<br />
myPP handle = defaultPP {<br />
ppCurrent = wrap ("^fg(" ++ myFocusedFGColor ++ ")^bg(" ++ myFocusedBGColor ++ ")^p(4)") "^p(4)^fg()^bg()",<br />
ppUrgent = wrap ("^fg(" ++ myUrgentFGColor ++ ")^bg(" ++ myUrgentBGColor ++ ")^p(4)") "^p(4)^fg()^bg()",<br />
ppVisible = wrap ("^fg(" ++ myNormalFGColor ++ ")^bg(" ++ myNormalBGColor ++ ")^p(4)") "^p(4)^fg()^bg()",<br />
ppSep = "^fg(" ++ mySeperatorColor ++ ")^r(3x3)^fg()",<br />
ppLayout = (\x -> case x of<br />
"Tall" -> " ^i(" ++ myBitmapsDir ++ "/tall.xbm) "<br />
"Mirror Tall" -> " ^i(" ++ myBitmapsDir ++ "/mtall.xbm) "<br />
"Full" -> " ^i(" ++ myBitmapsDir ++ "/full.xbm) "<br />
),<br />
ppTitle = wrap ("^fg(" ++ myFocusedFGColor ++ ")") "^fg()" ,<br />
ppOutput = hPutStrLn handle<br />
}<br />
-- }}}<br />
</haskell><br />
<br />
== .xinitrc ==<br />
<haskell><br />
urxvtd -q -o -f<br />
[[ -x "/usr/bin/numlockx" ]] && numlockx &<br />
xsetroot -cursor_name left_ptr &<br />
trayer --edge top --align right --margin 280 --widthtype pixel --width 48 --height 16 --SetDockType true --transparent true --alpha 204 &<br />
~/.bin/dzen.sh | dzen2 -e 'onstart=lower' -p -ta r -fn '-*-terminus-medium-*-*-*-12-*-*-*-*-*-iso8859-1' -bg '#2e3436' -fg '#babdb6' -h 16 &<br />
exec xmonad;<br />
</haskell><br />
== dzen2 script ==<br />
<haskell><br />
#!/bin/zsh<br />
<br />
###<br />
# Config<br />
###<br />
DATE_FORMAT="%a %d %b, %Y"<br />
TIME_ZONES=("Australia/Perth" "Europe/Warsaw")<br />
SEPERATOR=' ^fg(#86AA3F)^c(3)^fg() '<br />
BAR_BG='#7DA926'<br />
BAR_FG='#B9D56E'<br />
BAR_H=7<br />
BAR_W=50<br />
BAR_ARGS="-bg $BAR_BG -fg $BAR_FG -w $BAR_W -h $BAR_H"<br />
ICON_DIR="$HOME/.share/icons/dzen"<br />
<br />
GLOBALIVAL=1m<br />
DATEIVAL=60<br />
TIMEIVAL=1<br />
<br />
<br />
###<br />
# Functions<br />
###<br />
_date()<br />
{<br />
date +${DATE_FORMAT}<br />
}<br />
<br />
_time()<br />
{<br />
local zone<br />
print_space=0<br />
for zone in $TIME_ZONES; do<br />
[[ $print_space -eq 1 ]] && print -n " "<br />
print -n "${zone:t}: $(TZ=$zone date '+%H:%M')"<br />
print_space=1<br />
done<br />
}<br />
<br />
DATEI=0<br />
TIMEI=0<br />
<br />
date=$(_date)<br />
times=$(_time)<br />
<br />
while true; do<br />
[[ $DATEI -ge $DATEIVAL ]] && date=$(_date) && DATEI=0<br />
[[ $TIMEI -ge $TIMEIVAL ]] && times=$(_time) && TIMEI=0<br />
<br />
print "${SEPERATOR}${times}${SEPERATOR}${date}"<br />
<br />
DATEI=$(($DATEI+1))<br />
TIMEI=$(($TIMEI+1))<br />
<br />
sleep $GLOBALIVAL<br />
done<br />
</haskell><br />
<br />
== Preview ==<br />
[[Image:xilon-config.png|left|200px]]<br />
<br />
[[Category:XMonad configuration]]</div>
Xilon
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive/Xilon%27s_xmonad.hs&diff=17638
Xmonad/Config archive/Xilon's xmonad.hs
2007-12-17T08:54:46Z
<p>Xilon: Umm... typo</p>
<hr />
<div>== xmonad.hs ==<br />
<haskell><br />
-- vim :fdm=marker sw=4 sts=4 ts=4 et ai:<br />
<br />
-- Imports {{{<br />
import XMonad<br />
import XMonad.Layout<br />
import XMonad.Layout.NoBorders (noBorders)<br />
import XMonad.Layout.PerWorkspace<br />
import XMonad.Layout.LayoutHints<br />
import XMonad.Hooks.DynamicLog (PP(..), dynamicLogWithPP, wrap, defaultPP)<br />
import XMonad.Hooks.UrgencyHook<br />
import XMonad.Util.Run (spawnPipe)<br />
import qualified XMonad.StackSet as W<br />
import qualified Data.Map as M<br />
<br />
import System.IO (hPutStrLn)<br />
-- }}}<br />
<br />
-- Control Center {{{<br />
-- Colour scheme {{{<br />
myNormalBGColor = "#2e3436"<br />
myFocusedBGColor = "#414141"<br />
myNormalFGColor = "#babdb6"<br />
myFocusedFGColor = "#73d216"<br />
myUrgentFGColor = "#75507b"<br />
myUrgentBGColor = myNormalBGColor<br />
mySeperatorColor = "#2e3436"<br />
-- }}}<br />
-- Icon packs can be found here:<br />
-- http://robm.selfip.net/wiki.sh/-main/DzenIconPacks<br />
myBitmapsDir = "/home/xilon/.share/icons/dzen"<br />
myFont = "-*-terminus-medium-*-*-*-12-*-*-*-*-*-iso8859-1"<br />
-- }}}<br />
<br />
-- Workspaces {{{<br />
myWorkspaces :: [WorkspaceId]<br />
myWorkspaces = ["1:general", "2:internet", "3:chat", "4:code"] ++ map show [5..9 :: Int]<br />
-- }}}<br />
<br />
-- Keybindings {{{<br />
myKeys (XConfig {modMask = modm}) = M.fromList $<br />
[<br />
((modm , xK_p), spawn ("exec `dmenu_path | dmenu -fn '" ++ myFont ++ "' -nb '" ++ myNormalBGColor ++ "' -nf '" ++ myNormalFGColor ++ "' -sb '" ++ myFocusedBGColor ++ "' -sf '" ++ myFocusedFGColor ++ "'`"))<br />
]<br />
-- }}}<br />
<br />
statusBarCmd= "dzen2 -p -h 16 -ta l -bg '" ++ myNormalBGColor ++ "' -fg '" ++ myNormalFGColor ++ "' -w 500 -sa c -fn '" ++ myFont ++ "'"<br />
<br />
-- Main {{{<br />
main = do<br />
statusBarPipe <- spawnPipe statusBarCmd<br />
xmonad $ withUrgencyHook NoUrgencyHook $defaultConfig {<br />
modMask = mod4Mask,<br />
borderWidth = 1,<br />
terminal = "urxvtc",<br />
normalBorderColor = myNormalBGColor,<br />
focusedBorderColor = myFocusedFGColor,<br />
defaultGaps = [(16,0,0,0)],<br />
manageHook = manageHook defaultConfig <+> myManageHook,<br />
layoutHook = onWorkspace "3:chat" chatLayout globalLayout,<br />
workspaces = myWorkspaces,<br />
logHook = dynamicLogWithPP $ myPP statusBarPipe,<br />
keys = \c -> myKeys c `M.union` keys defaultConfig c<br />
}<br />
where<br />
globalLayout = layoutHints (tiled) ||| noBorders Full ||| Mirror tiled<br />
chatLayout = Full<br />
tiled = Tall 1 (3/100) (1/2)<br />
-- }}}<br />
<br />
-- Window rules (floating, tagging, etc) {{{<br />
myManageHook = composeAll [<br />
className =? "Firefox-bin" --> doF(W.shift "2:internet"),<br />
className =? "Gajim.py" --> doF(W.shift "3:chat"),<br />
<br />
title =? "Gajim" --> doFloat,<br />
className =? "stalonetray" --> doIgnore,<br />
className =? "trayer" --> doIgnore<br />
]<br />
-- }}}<br />
<br />
-- Dzen Pretty Printer {{{<br />
-- Stolen from Rob [1] and modified<br />
-- [1] http://haskell.org/haskellwiki/Xmonad/Config_archive/Robert_Manea%27s_xmonad.hs<br />
myPP handle = defaultPP {<br />
ppCurrent = wrap ("^fg(" ++ myFocusedFGColor ++ ")^bg(" ++ myFocusedBGColor ++ ")^p(4)") "^p(4)^fg()^bg()",<br />
ppUrgent = wrap ("^fg(" ++ myUrgentFGColor ++ ")^bg(" ++ myUrgentBGColor ++ ")^p(4)") "^p(4)^fg()^bg()",<br />
ppVisible = wrap ("^fg(" ++ myNormalFGColor ++ ")^bg(" ++ myNormalBGColor ++ ")^p(4)") "^p(4)^fg()^bg()",<br />
ppSep = "^fg(" ++ mySeperatorColor ++ ")^r(3x3)^fg()",<br />
ppLayout = (\x -> case x of<br />
"Tall" -> " ^i(" ++ myBitmapsDir ++ "/tall.xbm) "<br />
"Mirror Tall" -> " ^i(" ++ myBitmapsDir ++ "/mtall.xbm) "<br />
"Full" -> " ^i(" ++ myBitmapsDir ++ "/full.xbm) "<br />
),<br />
ppTitle = wrap ("^fg(" ++ myFocusedFGColor ++ ")") "^fg()" ,<br />
ppOutput = hPutStrLn handle<br />
}<br />
-- }}}<br />
</haskell><br />
<br />
== .xinitrc ==<br />
<haskell><br />
urxvtd -q -o -f<br />
[[ -x "/usr/bin/numlockx" ]] && numlockx &<br />
xsetroot -cursor_name left_ptr &<br />
trayer --edge top --align right --margin 280 --widthtype pixel --width 48 --height 16 --SetDockType true --transparent true --alpha 204 &<br />
~/.bin/dzen.sh | dzen2 -e 'onstart=lower' -p -ta r -fn '-*-terminus-medium-*-*-*-12-*-*-*-*-*-iso8859-1' -bg '#2e3436' -fg '#babdb6' -h 16 &<br />
exec xmonad;<br />
</haskell><br />
== dzen2 script ==<br />
<haskell><br />
#!/bin/zsh<br />
<br />
###<br />
# Config<br />
###<br />
DATE_FORMAT="%a %d %b, %Y"<br />
TIME_ZONES=("Australia/Perth" "Europe/Warsaw")<br />
SEPERATOR=' ^fg(#86AA3F)^c(3)^fg() '<br />
BAR_BG='#7DA926'<br />
BAR_FG='#B9D56E'<br />
BAR_H=7<br />
BAR_W=50<br />
BAR_ARGS="-bg $BAR_BG -fg $BAR_FG -w $BAR_W -h $BAR_H"<br />
ICON_DIR="$HOME/.share/icons/dzen"<br />
<br />
GLOBALIVAL=1m<br />
DATEIVAL=60<br />
TIMEIVAL=1<br />
<br />
<br />
###<br />
# Functions<br />
###<br />
_date()<br />
{<br />
date +${DATE_FORMAT}<br />
}<br />
<br />
_time()<br />
{<br />
local zone<br />
print_space=0<br />
for zone in $TIME_ZONES; do<br />
[[ $print_space -eq 1 ]] && print -n " "<br />
print -n "${zone:t}: $(TZ=$zone date '+%H:%M')"<br />
print_space=1<br />
done<br />
}<br />
<br />
DATEI=0<br />
TIMEI=0<br />
<br />
date=$(_date)<br />
times=$(_time)<br />
<br />
while true; do<br />
[[ $DATEI -ge $DATEIVAL ]] && date=$(_date) && DATEI=0<br />
[[ $TIMEI -ge $TIMEIVAL ]] && times=$(_time) && TIMEI=0<br />
<br />
print "${SEPERATOR}${times}${SEPERATOR}${date}"<br />
<br />
DATEI=$(($DATEI+1))<br />
TIMEI=$(($TIMEI+1))<br />
<br />
sleep $GLOBALIVAL<br />
done<br />
</haskell><br />
<br />
== Preview ==<br />
[[Image:xilon-config.png|left|200px]]<br />
<br />
[[Category:XMonad configuration]]</div>
Xilon
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive&diff=17637
Xmonad/Config archive
2007-12-17T08:53:24Z
<p>Xilon: </p>
<hr />
<div>{{xmonad}}<br />
<br />
==xmonad configuration examples==<br />
<br />
Configuration files (Config.hs for xmonad < 0.5, xmonad.hs for xmonad >= 0.5)<br />
<br />
For more screenshots see the [[Xmonad/Screenshots]] archive.<br />
<br />
;[[/Template Config.hs]] (0.5)<br />
:The default xmonad settings, in the form of a template, so you can easily edit and replace any values.<br />
<br />
;[[/Don's xmonad.hs]] (0.5)<br />
:[[/Don's Config.hs]] (0.4)<br />
:colours, use custom terminal, dynamicLogDzen<br />
[[Image:dons-config.png|center|200px]]<br />
<br />
;[[/Gwern's Config.hs]] (0.5)<br />
:[[/Gwern's Config.hs (0.4)]] (old)<br />
:Ratpoison-y keybindings; example usage of XSelection.<br />
<br />
;[[/twifkak's xmonad.hs]] (0.5)<br />
:[[/twifkak's Config.hs]] (0.4)<br />
:modMask = mod4Mask; noBorders tabbed layout; keybindings for dzen, rotview, swapworkspaces, windowbringer, and windownavigation; urgencyhook (only in darcs xmonad).<br />
<br />
;[[/nomeatas Config.hs]] (0.4)<br />
:modMaks = mod4Mask; gnome-stuff<br />
<br />
;[[/David Roundy's xmonad.hs]] (0.5)<br />
:Combo config for small screen + xclock. Requires the xmonad-library branch, so not for the faint of heart. This config also keeps mod=mod1, and therefore moves a number of key bindings to non-standard locations (my laptop has no spare modifier keys).<br />
[[Image:droundy-config.png|center|200px]]<br />
<br />
;[[/Brent Yorgey's xmonad.hs]] (0.5)<br />
:modMask = mod4Mask; DynamicLog, RotView, ViewPrev, WindowNavigation, ToggleLayouts (toggle full screen mode), UrgencyHook + dzen, FlexibleManipulate, and a few others, with keybindings for all! (Warning: lots of non-standard keybindings. =)<br />
[[Image:byorgey-config.png|center|200px]]<br />
<br />
;[[/Robert Manea's xmonad.hs]] (0.5)<br />
:[[/Robert Manea's Config.hs and support scripts]] (0.4)<br />
:Customized DynamicLog and ShellPrompt, ManageDock, some efforts to make the colors of all components go together well<br />
0.4 screenshot: [[Image:rob-config.png|center|400px]]<br />
0.5 screenshot: [[Image:Xmonad_shellprompt_newconf.png|center|400px]]<br />
<br />
;[[/Eric Mertens' xmonad.hs]] (0.5)<br />
:[[/Eric Mertens's Config.hs]] (0.4)<br />
:Customized DynamicLog, ShellPrompt, TilePrime, Dual-head and an effort to make the statusbar similar to DWM.<br />
[[Image:glguy-config.jpg|center|400px]]<br />
<br />
;[[/vvv's xmonad.hs]] (0.5)<br />
:[[/vvv's Config.hs]] (0.4)<br />
:CustomKeys, CycleWS, {Shell,Ssh,Man}Prompt, Submap, DynamicWorkspaces, NoBorders, and ion-like status bar written in nonkosher Perl.<br />
[[Image:vvv-config.png|center|200px]]<br />
<br />
;[[/Andrea Rossato's xmonad.hs]] (0.5)<br />
:[[/arossato's Config.hs]] (0.4)<br />
:Tabbed, Xmobar with DynamicLog, (Shell|Ssh|Man)Prompt.<br />
[[Image:Arossato-config.png|center|200px]]<br />
<br />
;[[/Octoploid's xmonad.hs]] (0.5)<br />
:Xmobar with customized DynamicLog, RotView with custom keys, colors, terminal, golden ratio<br />
[[Image:Octoploid_conf.png|center|200px]]<br />
[[Image:Octoploid_conf2.png|center|200px]]<br />
<br />
;[[/Ray's xmonad.hs]] (0.5)<br />
:DynamicLog, custom manageHook, changed from default terminal, border colors, prompts, and layouts. Pseudo-Haskell dzen statusbar with greek letters for workspace names.<br />
[[Image:Ray-config.png|center|200px]]<br />
<br />
;[[/nattfodd's xmonad.hs]] (0.5)<br />
:DynamicLog, NoBorders, urgencyHook and French keyboard.<br />
[[Image:Nattfodd-scrot.png|center|200px]]<br />
<br />
;[[/deifl's xmonad.hs]] (0.5)<br />
:DynamicLog, WindowBringer, CopyWindow, ResizableTile, Tabbed layout. not default terminal, changed colors and some instances of dzen.<br />
Clean: [[Image:D_xmonad_clear.jpg|center|200px]]<br />
Populated: [[Image:D_xmonad_full.jpg|center|200px]]<br />
<br />
;[[/Xilon's xmonad.hs]] (0.5)<br />
:Simple and clean setup with dzen and a tray. Dzen with workspaces uses UrgencyHook for Urgent windows.<br />
[[Image:xilon-config.png|center|200px]]<br />
<br />
; [[/skorpan's xmonad.hs]] (0.5)<br />
: Basically slight modifications of rob's setup.<br />
[[Image:Skorpan.png|center|200px]]<br />
<br />
;[[/loupgaroublonds xmonad.hs]] (0.5)<br />
: mostly a stock config but with support for gnome and my cat<br />
[[Image:loupgaroublond-config.png|center|200px]]<br />
<br />
<br />
== Note on uploading ==<br />
<br />
To upload your config file, create some text on this page of the form:<br />
<br />
<nowiki>; [[/you Config.hs]]</nowiki><br />
<nowiki>: description of your setup</nowiki><br />
<br />
and save the page. This will create a new page under /you into which you<br />
can paste your Config.hs text. Wrap them in <nowiki><haskell></nowiki> and <nowiki></haskell></nowiki><br />
tags, to enable nice markup; add a nice category like <nowiki>[[Category:XMonad configuration]]</nowiki>, and upload. If you have an xmonad.hs for xmonad 0.5,<br />
upload that to<br />
<br />
<nowiki>; [[/you xmonad.hs]]</nowiki><br />
<br />
Images can be uploaded by clicking on the 'Upload file' link, and then<br />
referring to the uploaded image as, e.g.<br />
<br />
<nowiki>[[Image:you-config.png|center|200px]]</nowiki><br />
<br />
which will scale the image correctly for a thumbnail.<br />
<br />
[[Category:XMonad configuration]]</div>
Xilon
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive/Xilon%27s_xmonad.hs&diff=17635
Xmonad/Config archive/Xilon's xmonad.hs
2007-12-17T08:50:39Z
<p>Xilon: Added UrgencyHook functionality</p>
<hr />
<div>== haskell.hs ==<br />
<haskell><br />
-- vim :fdm=marker sw=4 sts=4 ts=4 et ai:<br />
<br />
-- Imports {{{<br />
import XMonad<br />
import XMonad.Layout<br />
import XMonad.Layout.NoBorders (noBorders)<br />
import XMonad.Layout.PerWorkspace<br />
import XMonad.Layout.LayoutHints<br />
import XMonad.Hooks.DynamicLog (PP(..), dynamicLogWithPP, wrap, defaultPP)<br />
import XMonad.Hooks.UrgencyHook<br />
import XMonad.Util.Run (spawnPipe)<br />
import qualified XMonad.StackSet as W<br />
import qualified Data.Map as M<br />
<br />
import System.IO (hPutStrLn)<br />
-- }}}<br />
<br />
-- Control Center {{{<br />
-- Colour scheme {{{<br />
myNormalBGColor = "#2e3436"<br />
myFocusedBGColor = "#414141"<br />
myNormalFGColor = "#babdb6"<br />
myFocusedFGColor = "#73d216"<br />
myUrgentFGColor = "#75507b"<br />
myUrgentBGColor = myNormalBGColor<br />
mySeperatorColor = "#2e3436"<br />
-- }}}<br />
-- Icon packs can be found here:<br />
-- http://robm.selfip.net/wiki.sh/-main/DzenIconPacks<br />
myBitmapsDir = "/home/xilon/.share/icons/dzen"<br />
myFont = "-*-terminus-medium-*-*-*-12-*-*-*-*-*-iso8859-1"<br />
-- }}}<br />
<br />
-- Workspaces {{{<br />
myWorkspaces :: [WorkspaceId]<br />
myWorkspaces = ["1:general", "2:internet", "3:chat", "4:code"] ++ map show [5..9 :: Int]<br />
-- }}}<br />
<br />
-- Keybindings {{{<br />
myKeys (XConfig {modMask = modm}) = M.fromList $<br />
[<br />
((modm , xK_p), spawn ("exec `dmenu_path | dmenu -fn '" ++ myFont ++ "' -nb '" ++ myNormalBGColor ++ "' -nf '" ++ myNormalFGColor ++ "' -sb '" ++ myFocusedBGColor ++ "' -sf '" ++ myFocusedFGColor ++ "'`"))<br />
]<br />
-- }}}<br />
<br />
statusBarCmd= "dzen2 -p -h 16 -ta l -bg '" ++ myNormalBGColor ++ "' -fg '" ++ myNormalFGColor ++ "' -w 500 -sa c -fn '" ++ myFont ++ "'"<br />
<br />
-- Main {{{<br />
main = do<br />
statusBarPipe <- spawnPipe statusBarCmd<br />
xmonad $ withUrgencyHook NoUrgencyHook $defaultConfig {<br />
modMask = mod4Mask,<br />
borderWidth = 1,<br />
terminal = "urxvtc",<br />
normalBorderColor = myNormalBGColor,<br />
focusedBorderColor = myFocusedFGColor,<br />
defaultGaps = [(16,0,0,0)],<br />
manageHook = manageHook defaultConfig <+> myManageHook,<br />
layoutHook = onWorkspace "3:chat" chatLayout globalLayout,<br />
workspaces = myWorkspaces,<br />
logHook = dynamicLogWithPP $ myPP statusBarPipe,<br />
keys = \c -> myKeys c `M.union` keys defaultConfig c<br />
}<br />
where<br />
globalLayout = layoutHints (tiled) ||| noBorders Full ||| Mirror tiled<br />
chatLayout = Full<br />
tiled = Tall 1 (3/100) (1/2)<br />
-- }}}<br />
<br />
-- Window rules (floating, tagging, etc) {{{<br />
myManageHook = composeAll [<br />
className =? "Firefox-bin" --> doF(W.shift "2:internet"),<br />
className =? "Gajim.py" --> doF(W.shift "3:chat"),<br />
<br />
title =? "Gajim" --> doFloat,<br />
className =? "stalonetray" --> doIgnore,<br />
className =? "trayer" --> doIgnore<br />
]<br />
-- }}}<br />
<br />
-- Dzen Pretty Printer {{{<br />
-- Stolen from Rob [1] and modified<br />
-- [1] http://haskell.org/haskellwiki/Xmonad/Config_archive/Robert_Manea%27s_xmonad.hs<br />
myPP handle = defaultPP {<br />
ppCurrent = wrap ("^fg(" ++ myFocusedFGColor ++ ")^bg(" ++ myFocusedBGColor ++ ")^p(4)") "^p(4)^fg()^bg()",<br />
ppUrgent = wrap ("^fg(" ++ myUrgentFGColor ++ ")^bg(" ++ myUrgentBGColor ++ ")^p(4)") "^p(4)^fg()^bg()",<br />
ppVisible = wrap ("^fg(" ++ myNormalFGColor ++ ")^bg(" ++ myNormalBGColor ++ ")^p(4)") "^p(4)^fg()^bg()",<br />
ppSep = "^fg(" ++ mySeperatorColor ++ ")^r(3x3)^fg()",<br />
ppLayout = (\x -> case x of<br />
"Tall" -> " ^i(" ++ myBitmapsDir ++ "/tall.xbm) "<br />
"Mirror Tall" -> " ^i(" ++ myBitmapsDir ++ "/mtall.xbm) "<br />
"Full" -> " ^i(" ++ myBitmapsDir ++ "/full.xbm) "<br />
),<br />
ppTitle = wrap ("^fg(" ++ myFocusedFGColor ++ ")") "^fg()" ,<br />
ppOutput = hPutStrLn handle<br />
}<br />
-- }}}<br />
</haskell><br />
<br />
== .xinitrc ==<br />
<haskell><br />
urxvtd -q -o -f<br />
[[ -x "/usr/bin/numlockx" ]] && numlockx &<br />
xsetroot -cursor_name left_ptr &<br />
trayer --edge top --align right --margin 280 --widthtype pixel --width 48 --height 16 --SetDockType true --transparent true --alpha 204 &<br />
~/.bin/dzen.sh | dzen2 -e 'onstart=lower' -p -ta r -fn '-*-terminus-medium-*-*-*-12-*-*-*-*-*-iso8859-1' -bg '#2e3436' -fg '#babdb6' -h 16 &<br />
exec xmonad;<br />
</haskell><br />
== dzen2 script ==<br />
<haskell><br />
#!/bin/zsh<br />
<br />
###<br />
# Config<br />
###<br />
DATE_FORMAT="%a %d %b, %Y"<br />
TIME_ZONES=("Australia/Perth" "Europe/Warsaw")<br />
SEPERATOR=' ^fg(#86AA3F)^c(3)^fg() '<br />
BAR_BG='#7DA926'<br />
BAR_FG='#B9D56E'<br />
BAR_H=7<br />
BAR_W=50<br />
BAR_ARGS="-bg $BAR_BG -fg $BAR_FG -w $BAR_W -h $BAR_H"<br />
ICON_DIR="$HOME/.share/icons/dzen"<br />
<br />
GLOBALIVAL=1m<br />
DATEIVAL=60<br />
TIMEIVAL=1<br />
<br />
<br />
###<br />
# Functions<br />
###<br />
_date()<br />
{<br />
date +${DATE_FORMAT}<br />
}<br />
<br />
_time()<br />
{<br />
local zone<br />
print_space=0<br />
for zone in $TIME_ZONES; do<br />
[[ $print_space -eq 1 ]] && print -n " "<br />
print -n "${zone:t}: $(TZ=$zone date '+%H:%M')"<br />
print_space=1<br />
done<br />
}<br />
<br />
DATEI=0<br />
TIMEI=0<br />
<br />
date=$(_date)<br />
times=$(_time)<br />
<br />
while true; do<br />
[[ $DATEI -ge $DATEIVAL ]] && date=$(_date) && DATEI=0<br />
[[ $TIMEI -ge $TIMEIVAL ]] && times=$(_time) && TIMEI=0<br />
<br />
print "${SEPERATOR}${times}${SEPERATOR}${date}"<br />
<br />
DATEI=$(($DATEI+1))<br />
TIMEI=$(($TIMEI+1))<br />
<br />
sleep $GLOBALIVAL<br />
done<br />
</haskell><br />
<br />
== Preview ==<br />
[[Image:xilon-config.png|left|200px]]<br />
<br />
[[Category:XMonad configuration]]</div>
Xilon
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive/Xilon%27s_xmonad.hs&diff=17439
Xmonad/Config archive/Xilon's xmonad.hs
2007-12-12T14:09:31Z
<p>Xilon: Made dzen script a tiny bit faster</p>
<hr />
<div>== haskell.hs ==<br />
<haskell><br />
-- vim :fdm=marker sw=4 sts=4 ts=4 et ai:<br />
<br />
-- Imports {{{<br />
import XMonad<br />
import XMonad.Layout<br />
import XMonad.Layout.NoBorders (smartBorders)<br />
import XMonad.Layout.PerWorkspace<br />
import XMonad.Hooks.DynamicLog (PP(..), dynamicLogWithPP, wrap, defaultPP)<br />
import XMonad.Util.Run (spawnPipe)<br />
import qualified XMonad.StackSet as W<br />
<br />
import System.IO (hPutStrLn)<br />
-- }}}<br />
<br />
-- Control Center {{{<br />
-- Colour scheme {{{<br />
myNormalBGColor = "#2e3436"<br />
myFocusedBGColor = "#414141"<br />
myNormalFGColor = "#babdb6"<br />
myFocusedFGColor = "#73d216"<br />
mySeperatorColor = "#2e3436"<br />
-- }}}<br />
-- Icon packs can be found here:<br />
-- http://robm.selfip.net/wiki.sh/-main/DzenIconPacks<br />
myBitmapsDir = "/home/xilon/.share/icons/dzen"<br />
myFont = "-*-terminus-medium-*-*-*-12-*-*-*-*-*-iso8859-1"<br />
-- }}}<br />
<br />
-- Workspaces {{{<br />
myWorkspaces :: [WorkspaceId]<br />
myWorkspaces = ["1:general", "2:internet", "3:chat", "4:code"] ++ map show [5..9 :: Int]<br />
-- }}}<br />
<br />
statusBarCmd= "dzen2 -p -h 16 -ta l -bg '" ++ myNormalBGColor ++ "' -fg '" ++ myNormalFGColor ++ "' -w 500 -sa c -fn '" ++ myFont ++ "'"<br />
<br />
-- Main {{{<br />
main = do<br />
statusBarPipe <- spawnPipe statusBarCmd<br />
xmonad $ defaultConfig {<br />
modMask = mod4Mask,<br />
borderWidth = 1,<br />
terminal = "urxvtc",<br />
normalBorderColor = myNormalBGColor,<br />
focusedBorderColor = myFocusedBGColor,<br />
defaultGaps = [(16,0,0,0)],<br />
manageHook = manageHook defaultConfig <+> myManageHook,<br />
layoutHook = onWorkspace "3:chat" chatLayout globalLayout,<br />
workspaces = myWorkspaces,<br />
logHook = dynamicLogWithPP $ myPP statusBarPipe<br />
}<br />
where<br />
globalLayout = tiled ||| Full ||| Mirror tiled<br />
chatLayout = Full<br />
tiled = Tall 1 (3/100) (1/2)<br />
-- }}}<br />
<br />
-- Window rules (floating, tagging, etc) {{{<br />
myManageHook = composeAll [<br />
className =? "Firefox-bin" --> doF(W.shift "2:internet"),<br />
className =? "Gajim.py" --> doF(W.shift "3:chat"),<br />
<br />
title =? "Gajim" --> doFloat,<br />
className =? "stalonetray" --> doIgnore,<br />
className =? "trayer" --> doIgnore<br />
]<br />
-- }}}<br />
<br />
-- Dzen Pretty Printer {{{<br />
-- Stolen from Rob [1] and modified<br />
-- [1] http://haskell.org/haskellwiki/Xmonad/Config_archive/Robert_Manea%27s_xmonad.hs<br />
myPP handle = defaultPP {<br />
ppCurrent = wrap ("^fg(" ++ myFocusedFGColor ++ ")^bg(" ++ myFocusedBGColor ++ ")^p(4)") "^p(4)^fg()^bg()",<br />
ppVisible = wrap ("^fg(" ++ myNormalFGColor ++ ")^bg(" ++ myNormalBGColor ++ ")^p(4)") "^p(4)^fg()^bg()",<br />
ppSep = "^fg(" ++ mySeperatorColor ++ ")^r(3x3)^fg()",<br />
ppLayout = (\x -> case x of<br />
"Tall" -> " ^i(" ++ myBitmapsDir ++ "/tall.xbm) "<br />
"Mirror Tall" -> " ^i(" ++ myBitmapsDir ++ "/mtall.xbm) "<br />
"Full" -> " ^i(" ++ myBitmapsDir ++ "/full.xbm) "<br />
),<br />
ppTitle = wrap ("^fg(" ++ myFocusedFGColor ++ ")") "^fg()" ,<br />
ppOutput = hPutStrLn handle<br />
}<br />
-- }}}<br />
</haskell><br />
<br />
== .xinitrc ==<br />
<haskell><br />
urxvtd -q -o -f<br />
[[ -x "/usr/bin/numlockx" ]] && numlockx &<br />
xsetroot -cursor_name left_ptr &<br />
trayer --edge top --align right --margin 280 --widthtype pixel --width 48 --height 16 --SetDockType true --transparent true --alpha 204 &<br />
~/.bin/dzen.sh | dzen2 -e 'onstart=lower' -p -ta r -fn '-*-terminus-medium-*-*-*-12-*-*-*-*-*-iso8859-1' -bg '#2e3436' -fg '#babdb6' -h 16 &<br />
exec xmonad;<br />
</haskell><br />
== dzen2 script ==<br />
<haskell><br />
#!/bin/zsh<br />
<br />
###<br />
# Config<br />
###<br />
DATE_FORMAT="%a %d %b, %Y"<br />
TIME_ZONES=("Australia/Perth" "Europe/Warsaw")<br />
SEPERATOR=' ^fg(#86AA3F)^c(3)^fg() '<br />
BAR_BG='#7DA926'<br />
BAR_FG='#B9D56E'<br />
BAR_H=7<br />
BAR_W=50<br />
BAR_ARGS="-bg $BAR_BG -fg $BAR_FG -w $BAR_W -h $BAR_H"<br />
ICON_DIR="$HOME/.share/icons/dzen"<br />
<br />
GLOBALIVAL=1m<br />
DATEIVAL=60<br />
TIMEIVAL=1<br />
<br />
<br />
###<br />
# Functions<br />
###<br />
_date()<br />
{<br />
date +${DATE_FORMAT}<br />
}<br />
<br />
_time()<br />
{<br />
local zone<br />
print_space=0<br />
for zone in $TIME_ZONES; do<br />
[[ $print_space -eq 1 ]] && print -n " "<br />
print -n "${zone:t}: $(TZ=$zone date '+%H:%M')"<br />
print_space=1<br />
done<br />
}<br />
<br />
DATEI=0<br />
TIMEI=0<br />
<br />
date=$(_date)<br />
times=$(_time)<br />
<br />
while true; do<br />
[[ $DATEI -ge $DATEIVAL ]] && date=$(_date) && DATEI=0<br />
[[ $TIMEI -ge $TIMEIVAL ]] && times=$(_time) && TIMEI=0<br />
<br />
print "${SEPERATOR}${times}${SEPERATOR}${date}"<br />
<br />
DATEI=$(($DATEI+1))<br />
TIMEI=$(($TIMEI+1))<br />
<br />
sleep $GLOBALIVAL<br />
done<br />
</haskell><br />
<br />
== Preview ==<br />
[[Image:xilon-config.png|left|200px]]<br />
<br />
[[Category:XMonad configuration]]</div>
Xilon
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive&diff=17438
Xmonad/Config archive
2007-12-12T13:57:43Z
<p>Xilon: Added preview for my config</p>
<hr />
<div>{{xmonad}}<br />
<br />
==xmonad configuration examples==<br />
<br />
Configuration files (Config.hs for xmonad < 0.5, xmonad.hs for xmonad >= 0.5)<br />
<br />
For more screenshots see the [[Xmonad/Screenshots]] archive.<br />
<br />
;[[/Template Config.hs]] (0.5)<br />
:The default xmonad settings, in the form of a template, so you can easily edit and replace any values.<br />
<br />
;[[/Don's Config.hs]] (0.4), [[/Don's xmonad.hs]] (0.5)<br />
:colours, use custom terminal, dynamicLogDzen<br />
[[Image:dons-config.png|center|200px]]<br />
<br />
;[[/Gwern's Config.hs]] (0.5)<br />
:[[/Gwern's Config.hs (0.4)]] (old)<br />
:Ratpoison-y keybindings; example usage of XSelection.<br />
<br />
;[[/twifkak's Config.hs]] (0.4), [[/twifkak's xmonad.hs]] (0.5)<br />
:modMask = mod4Mask; noBorders tabbed layout; keybindings for dzen, rotview, swapworkspaces, windowbringer, and windownavigation; urgencyhook (only in darcs xmonad).<br />
<br />
;[[/nomeatas Config.hs]] (0.4)<br />
:modMaks = mod4Mask; gnome-stuff<br />
<br />
;[[/David Roundy's xmonad.hs]] (0.5)<br />
:Combo config for small screen + xclock. Requires the xmonad-library branch, so not for the faint of heart. This config also keeps mod=mod1, and therefore moves a number of key bindings to non-standard locations (my laptop has no spare modifier keys).<br />
[[Image:droundy-config.png|center|200px]]<br />
<br />
;[[/Brent Yorgey's xmonad.hs]] (0.5)<br />
:modMask = mod4Mask; DynamicLog, RotView, ViewPrev, WindowNavigation, ToggleLayouts (toggle full screen mode), UrgencyHook + dzen, FlexibleManipulate, and a few others, with keybindings for all! (Warning: lots of non-standard keybindings. =)<br />
[[Image:byorgey-config.png|center|200px]]<br />
<br />
;[[/Robert Manea's Config.hs and support scripts]] (0.4) [[/Robert Manea's xmonad.hs]] (0.5)<br />
:Customized DynamicLog and ShellPrompt, some efforts to make the colors of all components go together well<br />
0.4 screenshot: [[Image:rob-config.png|center|400px]]<br />
0.5 screenshot: [[Image:Xmonad_shellprompt_newconf.png|center|400px]]<br />
<br />
;[[/Eric Mertens's Config.hs]] (0.4) [[/Eric Mertens' xmonad.hs]] (0.5)<br />
:Customized DynamicLog, ShellPrompt, TilePrime, Dual-head and an effort to make the statusbar similar to DWM.<br />
[[Image:glguy-config.jpg|center|400px]]<br />
<br />
;[[/vvv's Config.hs]] (0.4), [[/vvv's xmonad.hs]] (0.5)<br />
:CustomKeys, CycleWS, {Shell,Ssh,Man}Prompt, Submap, DynamicWorkspaces, NoBorders, and ion-like status bar written in nonkosher Perl.<br />
[[Image:vvv-config.png|center|200px]]<br />
<br />
;[[/arossato's Config.hs]] (0.4) - [[/Andrea Rossato's xmonad.hs]] (0.5)<br />
:Tabbed, Xmobar with DynamicLog, (Shell|Ssh|Man)Prompt.<br />
[[Image:Arossato-config.png|center|200px]]<br />
<br />
;[[/Octoploid's xmonad.hs]] (0.5)<br />
:Xmobar with customized DynamicLog, RotView with custom keys, colors, terminal, golden ratio<br />
[[Image:Octoploid_conf.png|center|200px]]<br />
[[Image:Octoploid_conf2.png|center|200px]]<br />
<br />
;[[/Ray's xmonad.hs]] (0.5)<br />
:DynamicLog, custom manageHook, changed from default terminal, border colors, prompts, and layouts. Pseudo-Haskell dzen statusbar with greek letters for workspace names.<br />
[[Image:Ray-config.png|center|200px]]<br />
<br />
;[[/nattfodd's xmonad.hs]] (0.5)<br />
:DynamicLog, NoBorders, urgencyHook and French keyboard.<br />
[[Image:Nattfodd-scrot.png|center|200px]]<br />
<br />
;[[/deifl's xmonad.hs]] (0.5)<br />
:DynamicLog, WindowBringer, CopyWindow, ResizableTile, Tabbed layout. not default terminal, changed colors and some instances of dzen.<br />
Clean: [[Image:D_xmonad_clear.jpg|center|200px]]<br />
Populated: [[Image:D_xmonad_full.jpg|center|200px]]<br />
<br />
;[[/Xilon's xmonad.hs]] (0.5)<br />
:Simple and clean setup with dzen and a tray.<br />
[[Image:xilon-config.png|center|200px]]<br />
<br />
== Note on uploading ==<br />
<br />
To upload your config file, create some text on this page of the form:<br />
<br />
<nowiki>; [[/you Config.hs]] (0.4)</nowiki><br />
<nowiki>: description of your setup</nowiki><br />
<br />
and save the page. This will create a new page under /you into which you<br />
can paste your Config.hs text. Wrap them in <nowiki><haskell></nowiki> and <nowiki></haskell></nowiki><br />
tags, to enable nice markup; add a nice category like <nowiki>[[Category:XMonad configuration]]</nowiki>, and upload. If you have an xmonad.hs for xmonad 0.5,<br />
upload that to<br />
<br />
<nowiki>; [[/you xmonad.hs]] (0.5)</nowiki><br />
<br />
Images can be uploaded by clicking on the 'Upload file' link, and then<br />
referring to the uploaded image as, e.g.<br />
<br />
<nowiki>[[Image:you-config.png|center|200px]]</nowiki><br />
<br />
which will scale the image correctly for a thumbnail.<br />
<br />
[[Category:XMonad configuration]]</div>
Xilon
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive/Xilon%27s_xmonad.hs&diff=17437
Xmonad/Config archive/Xilon's xmonad.hs
2007-12-12T13:39:54Z
<p>Xilon: </p>
<hr />
<div>== haskell.hs ==<br />
<haskell><br />
-- vim :fdm=marker sw=4 sts=4 ts=4 et ai:<br />
<br />
-- Imports {{{<br />
import XMonad<br />
import XMonad.Layout<br />
import XMonad.Layout.NoBorders (smartBorders)<br />
import XMonad.Layout.PerWorkspace<br />
import XMonad.Hooks.DynamicLog (PP(..), dynamicLogWithPP, wrap, defaultPP)<br />
import XMonad.Util.Run (spawnPipe)<br />
import qualified XMonad.StackSet as W<br />
<br />
import System.IO (hPutStrLn)<br />
-- }}}<br />
<br />
-- Control Center {{{<br />
-- Colour scheme {{{<br />
myNormalBGColor = "#2e3436"<br />
myFocusedBGColor = "#414141"<br />
myNormalFGColor = "#babdb6"<br />
myFocusedFGColor = "#73d216"<br />
mySeperatorColor = "#2e3436"<br />
-- }}}<br />
-- Icon packs can be found here:<br />
-- http://robm.selfip.net/wiki.sh/-main/DzenIconPacks<br />
myBitmapsDir = "/home/xilon/.share/icons/dzen"<br />
myFont = "-*-terminus-medium-*-*-*-12-*-*-*-*-*-iso8859-1"<br />
-- }}}<br />
<br />
-- Workspaces {{{<br />
myWorkspaces :: [WorkspaceId]<br />
myWorkspaces = ["1:general", "2:internet", "3:chat", "4:code"] ++ map show [5..9 :: Int]<br />
-- }}}<br />
<br />
statusBarCmd= "dzen2 -p -h 16 -ta l -bg '" ++ myNormalBGColor ++ "' -fg '" ++ myNormalFGColor ++ "' -w 500 -sa c -fn '" ++ myFont ++ "'"<br />
<br />
-- Main {{{<br />
main = do<br />
statusBarPipe <- spawnPipe statusBarCmd<br />
xmonad $ defaultConfig {<br />
modMask = mod4Mask,<br />
borderWidth = 1,<br />
terminal = "urxvtc",<br />
normalBorderColor = myNormalBGColor,<br />
focusedBorderColor = myFocusedBGColor,<br />
defaultGaps = [(16,0,0,0)],<br />
manageHook = manageHook defaultConfig <+> myManageHook,<br />
layoutHook = onWorkspace "3:chat" chatLayout globalLayout,<br />
workspaces = myWorkspaces,<br />
logHook = dynamicLogWithPP $ myPP statusBarPipe<br />
}<br />
where<br />
globalLayout = tiled ||| Full ||| Mirror tiled<br />
chatLayout = Full<br />
tiled = Tall 1 (3/100) (1/2)<br />
-- }}}<br />
<br />
-- Window rules (floating, tagging, etc) {{{<br />
myManageHook = composeAll [<br />
className =? "Firefox-bin" --> doF(W.shift "2:internet"),<br />
className =? "Gajim.py" --> doF(W.shift "3:chat"),<br />
<br />
title =? "Gajim" --> doFloat,<br />
className =? "stalonetray" --> doIgnore,<br />
className =? "trayer" --> doIgnore<br />
]<br />
-- }}}<br />
<br />
-- Dzen Pretty Printer {{{<br />
-- Stolen from Rob [1] and modified<br />
-- [1] http://haskell.org/haskellwiki/Xmonad/Config_archive/Robert_Manea%27s_xmonad.hs<br />
myPP handle = defaultPP {<br />
ppCurrent = wrap ("^fg(" ++ myFocusedFGColor ++ ")^bg(" ++ myFocusedBGColor ++ ")^p(4)") "^p(4)^fg()^bg()",<br />
ppVisible = wrap ("^fg(" ++ myNormalFGColor ++ ")^bg(" ++ myNormalBGColor ++ ")^p(4)") "^p(4)^fg()^bg()",<br />
ppSep = "^fg(" ++ mySeperatorColor ++ ")^r(3x3)^fg()",<br />
ppLayout = (\x -> case x of<br />
"Tall" -> " ^i(" ++ myBitmapsDir ++ "/tall.xbm) "<br />
"Mirror Tall" -> " ^i(" ++ myBitmapsDir ++ "/mtall.xbm) "<br />
"Full" -> " ^i(" ++ myBitmapsDir ++ "/full.xbm) "<br />
),<br />
ppTitle = wrap ("^fg(" ++ myFocusedFGColor ++ ")") "^fg()" ,<br />
ppOutput = hPutStrLn handle<br />
}<br />
-- }}}<br />
</haskell><br />
<br />
== .xinitrc ==<br />
<haskell><br />
urxvtd -q -o -f<br />
[[ -x "/usr/bin/numlockx" ]] && numlockx &<br />
xsetroot -cursor_name left_ptr &<br />
trayer --edge top --align right --margin 280 --widthtype pixel --width 48 --height 16 --SetDockType true --transparent true --alpha 204 &<br />
~/.bin/dzen.sh | dzen2 -e 'onstart=lower' -p -ta r -fn '-*-terminus-medium-*-*-*-12-*-*-*-*-*-iso8859-1' -bg '#2e3436' -fg '#babdb6' -h 16 &<br />
exec xmonad;<br />
</haskell><br />
== dzen2 script ==<br />
<haskell><br />
#!/bin/zsh<br />
<br />
###<br />
# Config<br />
###<br />
DATE_FORMAT="%a %d %b, %Y"<br />
TIME_ZONES=("Australia/Perth" "Europe/Warsaw")<br />
SEPERATOR=' ^fg(#86AA3F)^c(3)^fg() '<br />
BAR_BG='#7DA926'<br />
BAR_FG='#B9D56E'<br />
BAR_H=7<br />
BAR_W=50<br />
BAR_ARGS="-bg $BAR_BG -fg $BAR_FG -w $BAR_W -h $BAR_H"<br />
ICON_DIR="$HOME/.share/icons/dzen"<br />
<br />
GLOBALIVAL=1m<br />
DATEIVAL=60<br />
TIMEIVAL=1<br />
<br />
<br />
###<br />
# Functions<br />
###<br />
_date()<br />
{<br />
date +${DATE_FORMAT}<br />
}<br />
<br />
_time()<br />
{<br />
local zone<br />
print_space=0<br />
for zone in $TIME_ZONES; do<br />
[[ $print_space -eq 1 ]] && print -n " "<br />
print -n "${zone:t}: $(TZ=$zone date '+%H:%M')"<br />
print_space=1<br />
done<br />
}<br />
<br />
DATEI=0<br />
TIMEI=0<br />
<br />
date=$(_date)<br />
times=$(_time)<br />
<br />
while test 1; do<br />
[[ $DATEI -ge $DATEIVAL ]] && date=$(_date) && DATEI=0<br />
[[ $TIMEI -ge $TIMEIVAL ]] && times=$(_time) && TIMEI=0<br />
<br />
print "${SEPERATOR}${times}${SEPERATOR}${date}"<br />
<br />
DATEI=$(($DATEI+1))<br />
TIMEI=$(($TIMEI+1))<br />
<br />
sleep $GLOBALIVAL<br />
done<br />
</haskell><br />
<br />
== Preview ==<br />
[[Image:xilon-config.png|left|200px]]<br />
<br />
[[Category:XMonad configuration]]</div>
Xilon
https://wiki.haskell.org/index.php?title=File:Xilon-config.png&diff=17436
File:Xilon-config.png
2007-12-12T13:39:13Z
<p>Xilon: </p>
<hr />
<div></div>
Xilon
https://wiki.haskell.org/index.php?title=Xmonad/Config_archive&diff=17435
Xmonad/Config archive
2007-12-12T13:21:09Z
<p>Xilon: Added my config</p>
<hr />
<div>{{xmonad}}<br />
<br />
==xmonad configuration examples==<br />
<br />
Configuration files (Config.hs for xmonad < 0.5, xmonad.hs for xmonad >= 0.5)<br />
<br />
For more screenshots see the [[Xmonad/Screenshots]] archive.<br />
<br />
;[[/Template Config.hs]] (0.5)<br />
:The default xmonad settings, in the form of a template, so you can easily edit and replace any values.<br />
<br />
;[[/Don's Config.hs]] (0.4), [[/Don's xmonad.hs]] (0.5)<br />
:colours, use custom terminal, dynamicLogDzen<br />
[[Image:dons-config.png|center|200px]]<br />
<br />
;[[/Gwern's Config.hs]] (0.5)<br />
:[[/Gwern's Config.hs (0.4)]] (old)<br />
:Ratpoison-y keybindings; example usage of XSelection.<br />
<br />
;[[/twifkak's Config.hs]] (0.4), [[/twifkak's xmonad.hs]] (0.5)<br />
:modMask = mod4Mask; noBorders tabbed layout; keybindings for dzen, rotview, swapworkspaces, windowbringer, and windownavigation; urgencyhook (only in darcs xmonad).<br />
<br />
;[[/nomeatas Config.hs]] (0.4)<br />
:modMaks = mod4Mask; gnome-stuff<br />
<br />
;[[/David Roundy's xmonad.hs]] (0.5)<br />
:Combo config for small screen + xclock. Requires the xmonad-library branch, so not for the faint of heart. This config also keeps mod=mod1, and therefore moves a number of key bindings to non-standard locations (my laptop has no spare modifier keys).<br />
[[Image:droundy-config.png|center|200px]]<br />
<br />
;[[/Brent Yorgey's xmonad.hs]] (0.5)<br />
:modMask = mod4Mask; DynamicLog, RotView, ViewPrev, WindowNavigation, ToggleLayouts (toggle full screen mode), UrgencyHook + dzen, FlexibleManipulate, and a few others, with keybindings for all! (Warning: lots of non-standard keybindings. =)<br />
[[Image:byorgey-config.png|center|200px]]<br />
<br />
;[[/Robert Manea's Config.hs and support scripts]] (0.4) [[/Robert Manea's xmonad.hs]] (0.5)<br />
:Customized DynamicLog and ShellPrompt, some efforts to make the colors of all components go together well<br />
0.4 screenshot: [[Image:rob-config.png|center|400px]]<br />
0.5 screenshot: [[Image:Xmonad_shellprompt_newconf.png|center|400px]]<br />
<br />
;[[/Eric Mertens's Config.hs]] (0.4) [[/Eric Mertens' xmonad.hs]] (0.5)<br />
:Customized DynamicLog, ShellPrompt, TilePrime, Dual-head and an effort to make the statusbar similar to DWM.<br />
[[Image:glguy-config.jpg|center|400px]]<br />
<br />
;[[/vvv's Config.hs]] (0.4), [[/vvv's xmonad.hs]] (0.5)<br />
:CustomKeys, CycleWS, {Shell,Ssh,Man}Prompt, Submap, DynamicWorkspaces, NoBorders, and ion-like status bar written in nonkosher Perl.<br />
[[Image:vvv-config.png|center|200px]]<br />
<br />
;[[/arossato's Config.hs]] (0.4) - [[/Andrea Rossato's xmonad.hs]] (0.5)<br />
:Tabbed, Xmobar with DynamicLog, (Shell|Ssh|Man)Prompt.<br />
[[Image:Arossato-config.png|center|200px]]<br />
<br />
;[[/Octoploid's xmonad.hs]] (0.5)<br />
:Xmobar with customized DynamicLog, RotView with custom keys, colors, terminal, golden ratio<br />
[[Image:Octoploid_conf.png|center|200px]]<br />
[[Image:Octoploid_conf2.png|center|200px]]<br />
<br />
;[[/Ray's xmonad.hs]] (0.5)<br />
:DynamicLog, custom manageHook, changed from default terminal, border colors, prompts, and layouts. Pseudo-Haskell dzen statusbar with greek letters for workspace names.<br />
[[Image:Ray-config.png|center|200px]]<br />
<br />
;[[/nattfodd's xmonad.hs]] (0.5)<br />
:DynamicLog, NoBorders, urgencyHook and French keyboard.<br />
[[Image:Nattfodd-scrot.png|center|200px]]<br />
<br />
;[[/deifl's xmonad.hs]] (0.5)<br />
:DynamicLog, WindowBringer, CopyWindow, ResizableTile, Tabbed layout. not default terminal, changed colors and some instances of dzen.<br />
Clean: [[Image:D_xmonad_clear.jpg|center|200px]]<br />
Populated: [[Image:D_xmonad_full.jpg|center|200px]]<br />
<br />
;[[/Xilon's xmonad.hs]] (0.5)<br />
; Simple and clean setup with dzen and a tray<br />
<br />
== Note on uploading ==<br />
<br />
To upload your config file, create some text on this page of the form:<br />
<br />
<nowiki>; [[/you Config.hs]] (0.4)</nowiki><br />
<nowiki>: description of your setup</nowiki><br />
<br />
and save the page. This will create a new page under /you into which you<br />
can paste your Config.hs text. Wrap them in <nowiki><haskell></nowiki> and <nowiki></haskell></nowiki><br />
tags, to enable nice markup; add a nice category like <nowiki>[[Category:XMonad configuration]]</nowiki>, and upload. If you have an xmonad.hs for xmonad 0.5,<br />
upload that to<br />
<br />
<nowiki>; [[/you xmonad.hs]] (0.5)</nowiki><br />
<br />
Images can be uploaded by clicking on the 'Upload file' link, and then<br />
referring to the uploaded image as, e.g.<br />
<br />
<nowiki>[[Image:you-config.png|center|200px]]</nowiki><br />
<br />
which will scale the image correctly for a thumbnail.<br />
<br />
[[Category:XMonad configuration]]</div>
Xilon