#!/bin/sh # configure wmii xwrite() { file="$1"; shift echo -n "$@" | ixpc write "$file" } proglist() { ls -lL "$@" 2>/dev/null | awk 'NF>2 && $1 ~ /^[^d].*x/ {print $NF}' | sort | uniq } conf_which () { prog=$1; shift echo `PATH="$WMII_CONFPATH:$PATH" which $prog` "$@" } MODKEY=Mod1 UP=k DOWN=j LEFT=h RIGHT=l DMENU='dmenu -font fixed -normbg #eeeeee -normfg #222222 -selbg #335577 -selfg #ffffff' WMII_FONT='-*-fixed-medium-r-normal-*-13-*-*-*-*-*-*-*' WMII_NORMCOLORS='#222222 #eeeeee #666666' WMII_SELCOLORS='#ffffff #335577 #447799' # dark background #WMII_NORMCOLORS='#eeeeee #111111 #222222' export DMENU WMII_FONT WMII_SELCOLORS WMII_NORMCOLORS # stop any running instances or ixpcc echo Start ixpcc | ixpc write /event || exit 1 # WM CONFIGURATION ixpc write /ctl << EOF font $WMII_FONT selcolors $WMII_SELCOLORS normcolors $WMII_NORMCOLORS grabmod $MODKEY border 2 EOF # COLUMN RULES ixpc write /colrules < 50+50 EOF # TAGGING RULES ixpc write /tagrules < ~ /Gimp.*/ -> ~ /MPlayer.*/ -> ~ /.*/ -> ! /.*/ -> 1 EOF # MISC xsetroot -solid '#333333' `conf_which status` & PROGS_FILE="$WMII_NS_DIR/.dmenu.proglist" ACTIONS_DIRS=`echo "$WMII_CONFPATH" | tr : ' '` proglist `echo "$PATH" | tr : ' '` >$PROGS_FILE & # SHORTCUTS ixpc write /keys </dev/null | while read event do set -f set -- $event set +f type="$1"; shift parms="$@" case "$type" in Start) if test ixpcc = "$1" then exit fi;; CreateTag) echo "$WMII_NORMCOLORS" "$parms" | ixpc create "/lbar/$parms" ;; DestroyTag) ixpc remove "/lbar/$parms" ;; FocusTag) xwrite "/lbar/$parms" "$WMII_SELCOLORS" "$parms" ;; UnfocusTag) xwrite "/lbar/$parms" "$WMII_NORMCOLORS" "$parms" ;; LeftBarClick) shift xwrite /ctl view "$@";; Key) case "$1" in $MODKEY-$LEFT) xwrite /tag/sel/ctl select left;; $MODKEY-$RIGHT) xwrite /tag/sel/ctl select right;; $MODKEY-$DOWN) xwrite /tag/sel/ctl select down;; $MODKEY-$UP) xwrite /tag/sel/ctl select up;; $MODKEY-space) xwrite /tag/sel/ctl select toggle;; $MODKEY-d) xwrite /tag/sel/ctl colmode sel default;; $MODKEY-s) xwrite /tag/sel/ctl colmode sel stack;; $MODKEY-m) xwrite /tag/sel/ctl colmode sel max;; $MODKEY-f) xwrite /tag/sel/0/sel/geom 0 0 0 0;; $MODKEY-a) `conf_which "\`proglist $ACTIONS_DIRS | $DMENU\`"` &;; $MODKEY-p) sh -c "`$DMENU <$PROGS_FILE`" &;; $MODKEY-t) xwrite /ctl view "`ixpc ls /tag | sed 's,/,,; /^sel$/d' | $DMENU`" &;; $MODKEY-[0-9]) xwrite /ctl view "`echo $1 | sed 's/.*-//'`";; $MODKEY-Return) xterm &;; $MODKEY-Shift-$LEFT) xwrite /tag/sel/ctl send sel left;; $MODKEY-Shift-$RIGHT) xwrite /tag/sel/ctl send sel right;; $MODKEY-Shift-$DOWN) xwrite /tag/sel/ctl send sel down;; $MODKEY-Shift-$UP) xwrite /tag/sel/ctl send sel up;; $MODKEY-Shift-space) xwrite /tag/sel/ctl send sel toggle;; $MODKEY-Shift-c) xwrite /client/sel/ctl kill;; $MODKEY-Shift-t) xwrite "/client/`ixpc read /client/sel/ctl`/tags" \ "`ixpc ls /tag | sed 's,/,,; /^sel$/d' | $DMENU`" &;; $MODKEY-Shift-[0-9]) xwrite /client/sel/tags "`echo $1 | sed 's/.*-//'`";; esac;; esac done &