wmii/rc/wmiirc

208 lines
4.0 KiB
Plaintext
Raw Normal View History

#!/bin/sh
2006-02-25 21:36:53 +03:00
# configure wmii
xwrite() {
file="$1"; shift
echo -n "$@" | ixpc write "$file"
2006-02-25 21:36:53 +03:00
}
proglist() {
ls -lL "$@" 2>/dev/null | awk 'NF>2 && $1 ~ /^[^d].*x/ {print $NF}' | sort | uniq
}
conf_which () {
prog=$1; shift
2006-06-30 00:00:07 +04:00
echo `PATH="$WMII_CONFPATH:$PATH" which $prog` "$@"
2006-02-25 21:36:53 +03:00
}
MODKEY=Mod1
UP=k
DOWN=j
LEFT=h
RIGHT=l
DMENU='dmenu -font fixed -normbg #eeeeee -normfg #222222 -selbg #335577 -selfg #ffffff'
2006-12-13 13:26:38 +03:00
WMII_FONT='-*-fixed-medium-r-normal-*-13-*-*-*-*-*-*-*'
WMII_NORMCOLORS='#222222 #eeeeee #666666'
WMII_SELCOLORS='#ffffff #335577 #447799'
# dark background
#WMII_NORMCOLORS='#eeeeee #111111 #222222'
2006-02-25 21:36:53 +03:00
export DMENU WMII_FONT WMII_SELCOLORS WMII_NORMCOLORS
2006-10-30 11:54:22 +03:00
# stop any running instances or ixpcc
echo Start ixpcc | ixpc write /event || exit 1
2006-03-22 19:58:04 +03:00
2006-02-25 21:36:53 +03:00
# WM CONFIGURATION
ixpc write /ctl << EOF
font $WMII_FONT
selcolors $WMII_SELCOLORS
normcolors $WMII_NORMCOLORS
grabmod $MODKEY
2006-06-21 22:48:39 +04:00
border 2
EOF
# COLUMN RULES
ixpc write /colrules <<EOF
/1/ -> 50+50
EOF
2006-02-25 21:36:53 +03:00
# TAGGING RULES
ixpc write /tagrules <<EOF
2006-04-11 20:45:40 +04:00
/XMMS.*/ -> ~
/Gimp.*/ -> ~
/MPlayer.*/ -> ~
2006-04-13 16:58:22 +04:00
/.*/ -> !
/.*/ -> 1
EOF
2006-02-25 21:36:53 +03:00
# 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 &
2006-02-25 21:36:53 +03:00
# SHORTCUTS
ixpc write /keys <<EOF
$MODKEY-$LEFT
$MODKEY-$RIGHT
$MODKEY-$DOWN
$MODKEY-$UP
$MODKEY-space
$MODKEY-d
$MODKEY-f
$MODKEY-s
$MODKEY-m
$MODKEY-a
$MODKEY-p
2006-04-11 17:32:03 +04:00
$MODKEY-t
$MODKEY-0
2006-03-06 01:38:50 +03:00
$MODKEY-1
$MODKEY-2
$MODKEY-3
$MODKEY-4
$MODKEY-5
$MODKEY-6
$MODKEY-7
$MODKEY-8
$MODKEY-9
2006-04-11 17:32:03 +04:00
$MODKEY-Return
$MODKEY-Shift-$LEFT
$MODKEY-Shift-$RIGHT
$MODKEY-Shift-$UP
$MODKEY-Shift-$DOWN
$MODKEY-Shift-space
$MODKEY-Shift-c
$MODKEY-Shift-t
$MODKEY-Shift-0
$MODKEY-Shift-1
$MODKEY-Shift-2
$MODKEY-Shift-3
$MODKEY-Shift-4
$MODKEY-Shift-5
$MODKEY-Shift-6
$MODKEY-Shift-7
$MODKEY-Shift-8
$MODKEY-Shift-9
EOF
2006-02-25 21:36:53 +03:00
# TAG BAR
ixpc ls /lbar |
2006-06-30 00:00:07 +04:00
while read bar
do
ixpc remove "/lbar/$bar"
done
seltag="`ixpc read /tag/sel/ctl 2>/dev/null`"
ixpc ls /tag | sed -e 's,/$,,; /^sel$/d' |
2006-06-30 00:00:07 +04:00
while read tag
do
if [ "X$tag" = "X$seltag" ]; then
echo "$WMII_SELCOLORS" "$tag" | ixpc create "/lbar/$tag"
else
echo "$WMII_NORMCOLORS" "$tag" | ixpc create "/lbar/$tag"
fi
done
2006-02-25 21:36:53 +03:00
# EVENT LOOP
ixpc read /event 2>/dev/null |
2006-02-25 21:36:53 +03:00
while read event
do
set -f
2006-02-25 21:36:53 +03:00
set -- $event
set +f
2006-02-25 21:36:53 +03:00
type="$1"; shift
parms="$@"
2006-02-25 21:36:53 +03:00
case "$type" in
Start)
if test ixpcc = "$1"
then
2006-03-22 18:05:12 +03:00
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)
2006-02-25 21:36:53 +03:00
case "$1" in
$MODKEY-$LEFT)
2006-06-20 02:25:49 +04:00
xwrite /tag/sel/ctl select left;;
$MODKEY-$RIGHT)
2006-06-20 02:25:49 +04:00
xwrite /tag/sel/ctl select right;;
$MODKEY-$DOWN)
xwrite /tag/sel/ctl select down;;
$MODKEY-$UP)
xwrite /tag/sel/ctl select up;;
$MODKEY-space)
2006-06-20 12:24:58 +04:00
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)
2006-09-27 20:00:41 +04:00
`conf_which "\`proglist $ACTIONS_DIRS | $DMENU\`"` &;;
$MODKEY-p)
2006-10-10 11:25:42 +04:00
sh -c "`$DMENU <$PROGS_FILE`" &;;
2006-04-11 17:32:03 +04:00
$MODKEY-t)
xwrite /ctl view "`ixpc ls /tag | sed 's,/,,; /^sel$/d' | $DMENU`" &;;
2006-03-06 01:38:50 +03:00
$MODKEY-[0-9])
2006-06-29 23:54:58 +04:00
xwrite /ctl view "`echo $1 | sed 's/.*-//'`";;
2006-04-11 17:32:03 +04:00
$MODKEY-Return)
xterm &;;
2006-04-12 17:29:03 +04:00
$MODKEY-Shift-$LEFT)
2006-06-20 02:25:49 +04:00
xwrite /tag/sel/ctl send sel left;;
2006-04-12 17:29:03 +04:00
$MODKEY-Shift-$RIGHT)
2006-06-20 02:25:49 +04:00
xwrite /tag/sel/ctl send sel right;;
$MODKEY-Shift-$DOWN)
2006-06-19 15:18:09 +04:00
xwrite /tag/sel/ctl send sel down;;
$MODKEY-Shift-$UP)
2006-06-19 15:18:09 +04:00
xwrite /tag/sel/ctl send sel up;;
$MODKEY-Shift-space)
2006-06-19 15:18:09 +04:00
xwrite /tag/sel/ctl send sel toggle;;
$MODKEY-Shift-c)
2006-06-20 12:24:58 +04:00
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/.*-//'`";;
2006-02-25 21:36:53 +03:00
esac;;
esac
done &