wmii/extra/p9p/wmiirc

150 lines
3.1 KiB
Bash

#!/usr/local/plan9/bin/rc
# configure wmii
fn xwrite {a=$1; shift; echo -n $* | wmiir write $a}
fn proglist {ls -lpL $* | awk '!/^d/ && $1 ~ /x/ {print $NF}'| sort -u}
MODKEY=Mod1
UP=k
DOWN=j
LEFT=h
RIGHT=l
WMII_FONT='fixed'
WMII_SELCOLORS='#ffffff #285577 #4c7899'
WMII_NORMCOLORS='#222222 #eeeeee #666666'
# dark background
#WMII_NORMCOLORS='#e0e0e0 #0a0a0a #202020'
# 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 <<END
/XMMS.*/ -> ~
/Gimp.*/ -> ~
/MPlayer.*/ -> ~
/.*/ -> !
/.*/ -> 1
END
# MISC
xsetroot -solid '#333333'
status &
PROGS_FILE=/tmp/.wmiimenu.$USER.progs
proglist `{echo $PATH | tr : ' '} >$PROGS_FILE &
# SHORTCUTS
xwrite /def/grabmod $MODKEY
wmiir write /def/keys <<END
$MODKEY-$LEFT
$MODKEY-$RIGHT
$MODKEY-$DOWN
$MODKEY-$UP
$MODKEY-space
$MODKEY-d
$MODKEY-f
$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-Return
$MODKEY-Shift-$LEFT
$MODKEY-Shift-$RIGHT
$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
$MODKEY-Control-$LEFT
$MODKEY-Control-$RIGHT
$MODKEY-Control-$DOWN
$MODKEY-Control-$UP
END
# EVENT LOOP
wmiir read /event |
while(e=`{read}) {
switch($e(1)) {
case Start
if(~ $e(2) wmiirc)
exit
case BarClick
xwrite /ctl view $e(2)
case Key
switch($e(2)) {
case $MODKEY-$LEFT
xwrite /view/ctl select prev
case $MODKEY-$RIGHT
xwrite /view/ctl select next
case $MODKEY-$DOWN
xwrite /view/sel/ctl select next
case $MODKEY-$UP
xwrite /view/sel/ctl select prev
case $MODKEY-space
xwrite /view/ctl select toggle
case $MODKEY-d
xwrite /view/sel/mode default
case $MODKEY-s
xwrite /view/sel/mode stack
case $MODKEY-m
xwrite /view/sel/mode max
case $MODKEY-f
xwrite /view/0/sel/geom 0 0 east south
case $MODKEY-a
PATH=$HOME/.wmii-3:CONFPREFIX/wmii-3:$PATH `{proglist CONFPREFIX/wmii-3 $HOME/.wmii-3 | wmiimenu} &
case $MODKEY-p
`{wmiimenu <$PROGS_FILE}&
case $MODKEY-t
xwrite /ctl view `{wmiir read /tags | wmiimenu} &
case $MODKEY-[0-9]
xwrite /ctl view `{echo $e(2) | sed 's/.*-//'}
case $MODKEY-Return
xterm &
case $MODKEY-Shift-$LEFT
xwrite /view/sel/sel/ctl sendto prev
case $MODKEY-Shift-$RIGHT
xwrite /view/sel/sel/ctl sendto next
case $MODKEY-Shift-space
xwrite /view/sel/sel/ctl sendto toggle
case $MODKEY-Shift-c
xwrite /view/sel/sel/ctl kill
case $MODKEY-Shift-t
xwrite /view/sel/sel/tags `{wmiir read /tags | wmiimenu} &
case $MODKEY-Shift-[0-9]
xwrite /view/sel/sel/tags `{echo $e(2) | sed 's/.*-//'}
case $MODKEY-Control-$LEFT
xwrite /view/sel/sel/ctl swap prev
case $MODKEY-Control-$RIGHT
xwrite /view/sel/sel/ctl swap next
case $MODKEY-Control-$DOWN
xwrite /view/sel/sel/ctl swap down
case $MODKEY-Control-$UP
xwrite /view/sel/sel/ctl swap up
}
}
} &