wmii/rc/wmiirc

159 lines
3.1 KiB
Bash

#!/bin/sh
# configure wmii
xwrite() {
file="$1"; shift
echo -n "$@" | wmiir write "$file"
}
proglist() {
ls -lL `echo "$@" | tr : ' '` 2>/dev/null |
awk 'NF>2 && $1 ~ /^[^d].*x/ {print $NF}' | sort -u
}
MODKEY=Alt
WMII_FONT='fixed' export WMII_FONT
WMII_NORMCOLORS='#222222 #eeeeee #666666' export WMII_NORMCOLORS
WMII_SELCOLORS='#ffffff #285577 #4c7899' export WMII_SELCOLORS
# give wmiiwm a chance to start
while :
do
echo Start wmiirc | wmiir write /event >/dev/null 2>&1 && break
sleep 1
done
# WM CONFIGURATION
xwrite /def/border 2
xwrite /def/font $WMII_FONT
xwrite /def/selcolors $WMII_SELCOLORS
xwrite /def/normcolors $WMII_NORMCOLORS
# TAGGING RULES
wmiir write /def/rules <<EOF
/.*/ -> 1
/.*/ -> !
/XMMS:.*/ -> ~
/Gimp.*:.*/ -> ~
EOF
xwrite /ctl retag
# MISC
xsetroot -solid '#0b1014'
status &
proglist $OLD_PATH >/tmp/ns.$USER.$DISPLAY/progs &
# SHORTCUTS
wmiir write /def/keys <<EOF
$MODKEY-h
$MODKEY-l
$MODKEY-j
$MODKEY-k
$MODKEY-space
$MODKEY-d
$MODKEY-s
$MODKEY-m
$MODKEY-a
$MODKEY-p
$MODKEY-t
$MODKEY-0
$MODKEY-1
$MODKEY-2
$MODKEY-3
$MODKEY-4
$MODKEY-5
$MODKEY-6
$MODKEY-7
$MODKEY-8
$MODKEY-9
$MODKEY-x
$MODKEY-Shift-h
$MODKEY-Shift-l
$MODKEY-Shift-space
$MODKEY-Shift-n
$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
$MODKEY-Control-h
$MODKEY-Control-l
$MODKEY-Control-j
$MODKEY-Control-k
EOF
# EVENT LOOP
wmiir read /event 2>/dev/null |
while read event
do
set -- $event
type="$1"; shift
case "$type" in
Start)
if test wmiirc = "$1"
then
exit
fi;;
LabelClick)
xwrite /ctl view "$1";;
Key)
case "$1" in
$MODKEY-h)
xwrite /view/ctl select prev;;
$MODKEY-l)
xwrite /view/ctl select next;;
$MODKEY-j)
xwrite /view/sel/ctl select next;;
$MODKEY-k)
xwrite /view/sel/ctl select prev;;
$MODKEY-space)
xwrite /view/ctl select toggle;;
$MODKEY-d)
xwrite /view/sel/mode default;;
$MODKEY-s)
xwrite /view/sel/mode stack;;
$MODKEY-m)
xwrite /view/sel/mode max;;
$MODKEY-a)
`proglist CONFPREFIX/wmii-3:$HOME/.wmii-3 | wmiimenu` &;;
$MODKEY-p)
extern `wmiimenu </tmp/ns.$USER.$DISPLAY/progs` &;;
$MODKEY-t)
xwrite /ctl view "`wmiir read /tags | wmiimenu`" &;;
$MODKEY-[0-9])
xwrite /ctl view `echo $1 | sed 's/.*-//'`;;
$MODKEY-x)
extern xterm &;;
$MODKEY-Shift-h)
xwrite /view/sel/sel/ctl sendto prev;;
$MODKEY-Shift-l)
xwrite /view/sel/sel/ctl sendto next;;
$MODKEY-Shift-space)
xwrite /view/sel/sel/ctl sendto toggle;;
$MODKEY-Shift-n)
xwrite /view/sel/sel/ctl sendto new;;
$MODKEY-Shift-c)
xwrite /view/sel/sel/ctl kill;;
$MODKEY-Shift-t)
xwrite /view/sel/sel/tags "`wmiir read /view/sel/sel/tags | wmiimenu`" &;;
$MODKEY-Shift-[0-9])
xwrite /view/sel/sel/tags `echo $1 | sed 's/.*-//'`;;
$MODKEY-Control-h)
xwrite /view/sel/sel/ctl swap prev;;
$MODKEY-Control-l)
xwrite /view/sel/sel/ctl swap next;;
$MODKEY-Control-j)
xwrite /view/sel/sel/ctl swap down;;
$MODKEY-Control-k)
xwrite /view/sel/sel/ctl swap up;;
esac;;
esac
done