#!/bin/sh # configure wmii xwrite() { file="$1"; shift echo -n "$@" | wmiir write "$file" } proglist() { ls -lL "$@" 2>/dev/null | awk 'NF>2 && $1 ~ /^[^d].*x/ {print $NF}' | sort | uniq } conf_which () { if [ -n "$1" ] then prog=$1; shift echo `PATH="$WMII_CONFPATH:$PATH" which $prog` "$@" fi } tagsmenu() { tag=`wmiir read /tag/sel/ctl` tags=`wmiir ls /tag | sed 's,/,,; /^sel$/d' | awk "BEGIN{print \"$tag\"} !/^$tag\$/" | $DMENU \ | sed 's/^\.\.\?$//; s/^\.\.\?+//g; s/+\.\.\?$//g; s/+\.\.\?+/+/g; s/\W//'` test -n "$tags" && xwrite $@ "$tags" } MODKEY=Mod1 UP=k DOWN=j LEFT=h RIGHT=l WMII_FONT='-*-fixed-medium-r-normal-*-13-*-*-*-*-*-*-*' # colors are text, bg, border WMII_NORMCOLORS='#222222 #eeeeee #666666' WMII_SELCOLORS='#444444 #bbbbbb #556088' WMII_FOCUSCOLORS='#ffffff #335577 #447799' WMII_BACKGROUND='#333333' DMENU="dmenu -b -fn $WMII_FONT -nb #eeeeee -nf #222222 -sb #335577 -sf #ffffff" WMII_TERM="xterm" export DMENU WMII_FONT WMII_FOCUSCOLORS WMII_SELCOLORS WMII_NORMCOLORS WMII_TERM # stop any running instances of wmiirc echo Start wmiirc | wmiir write /event || exit 1 # WM CONFIGURATION wmiir write /ctl << EOF font $WMII_FONT focuscolors $WMII_FOCUSCOLORS selcolors $WMII_SELCOLORS normcolors $WMII_NORMCOLORS grabmod $MODKEY border 2 EOF # COLUMN RULES wmiir write /colrules < 50+50 EOF # TAGGING RULES wmiir write /tagrules < ~ /Gimp.*/ -> gimp /MPlayer.*/ -> ~ /.*/ -> ! /.*/ -> 1 EOF # MISC xsetroot -solid $WMII_BACKGROUND `conf_which status` & PROGS_FILE="$WMII_NS_DIR/.dmenu.proglist" ACTIONS_DIRS=`echo "$WMII_CONFPATH" | tr : ' '` proglist `echo "$PATH" | tr : ' '` >$PROGS_FILE & # SHORTCUTS wmiir write /keys </dev/null | while read event do set -f set -- $event set +f type="$1"; shift parms="$@" case "$type" in Start) if test $1 == "wmiirc" then exit fi;; CreateTag) echo "$WMII_NORMCOLORS" "$parms" | wmiir create "/lbar/$parms" ;; DestroyTag) wmiir remove "/lbar/$parms" ;; FocusTag) xwrite "/lbar/$parms" "$WMII_FOCUSCOLORS" "$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) tagsmenu /ctl view &;; $MODKEY-[0-9]) xwrite /ctl view "`echo $1 | sed 's/.*-//'`";; $MODKEY-Return) $WMII_TERM &;; $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) tagsmenu "/client/`wmiir read /client/sel/ctl`/tags" &;; $MODKEY-Shift-[0-9]) xwrite /client/sel/tags "`echo $1 | sed 's/.*-//'`";; esac;; esac done &