wmii/rc/wmiirc

193 lines
4.9 KiB
Plaintext
Raw Normal View History

#!9PREFIX/bin/rc
# configure wmii
PIDFILE=/tmp/ns.$USER.$DISPLAY/wmiircpid
2006-02-18 23:23:49 +03:00
fn xwrite {
echo -n $2 | wmiir write $1
}
if(test -r $PIDFILE) {
kill -2 `{cat $PIDFILE} >[2]/dev/null
}
echo $pid >$PIDFILE
# install signal handler for artificial sigexit:
fn sigint {
if(test -f $PIDFILE && ~ `{cat $PIDFILE} $pid)
2006-02-18 23:23:49 +03:00
rm -f $PIDFILE
exit
}
2006-02-11 00:33:46 +03:00
CLIENT_BAR=1
2006-02-08 19:34:13 +03:00
CLIENT_BORDER=3
MODKEY=Alt
2006-02-18 23:23:49 +03:00
WMII_FONT='fixed'
WMII_NORMCOLORS='#222222 #eeeeee #666666'
WMII_SELCOLORS='#ffffff #285577 #4c7899'
2006-02-10 19:13:26 +03:00
# WM CONFIGURATION
xwrite /def/bar $CLIENT_BAR
xwrite /def/border $CLIENT_BORDER
xwrite /def/inc 1
2006-02-10 19:13:26 +03:00
xwrite /def/snap 20
xwrite /def/font $WMII_FONT
xwrite /def/selcolors $WMII_SELCOLORS
xwrite /def/normcolors $WMII_NORMCOLORS
2006-02-18 23:23:49 +03:00
for(page in `{wmiir read / | awk '/^d/ && !/new$/ {print $NF}'}) {
for(area in `{wmiir read /$page | awk '/^d/ && !/new$/ {print $NF}'}) {
for(client in `{wmiir read /$page/$area | awk '/^d/ {print $NF}'}) {
xwrite /$page/$area/$client/bar $CLIENT_BAR
xwrite /$page/$area/$client/border $CLIENT_BORDER
}
}
2006-02-08 19:34:13 +03:00
}
# KEYS CONFIGURATION
for(i in \
2006-02-18 23:23:49 +03:00
$MODKEY-Control-c \
$MODKEY-Control-w,y \
$MODKEY-Control-q,y \
$MODKEY-Control-p \
$MODKEY-Control-a \
$MODKEY-t \
$MODKEY-d \
$MODKEY-a \
$MODKEY-Shift-a \
$MODKEY-n \
$MODKEY-m \
$MODKEY-Return \
$MODKEY-Shift-Return \
$MODKEY-Control-y \
$MODKEY-h \
$MODKEY-l \
$MODKEY-Tab \
$MODKEY-j \
$MODKEY-k \
$MODKEY-Shift-h \
$MODKEY-Shift-l \
$MODKEY-Shift-p)
echo -n | wmiir create /keys/$i
for(i in `{seq 1 9})
2006-02-18 23:23:49 +03:00
echo -n | wmiir create /keys/$MODKEY-Shift-$i
2006-02-10 19:13:26 +03:00
# BAR CONFIGURATION
2006-02-10 22:20:29 +03:00
for(i in 1 2 3)
2006-02-18 23:23:49 +03:00
wmiir remove /bar/1 >/dev/null >[2=1]
2006-02-10 22:52:32 +03:00
xwrite /bar/new/colors $WMII_NORMCOLORS
xwrite /bar/new/colors $WMII_SELCOLORS
xwrite /bar/new/colors $WMII_NORMCOLORS
xwrite /bar/1/data 1
xwrite /bar/expand 2
2006-02-10 19:13:26 +03:00
# MENU CONFIGURATION
nl='
'
fn items {
ifs=:$nl { dirs=`{echo $1} }
{
2006-02-18 23:23:49 +03:00
for(dir in $dirs)
for(file in $dir/*)
if(! ~ $file $dir^'/*' && ! test -d $file && test -x $file)
2006-02-18 23:23:49 +03:00
echo `{basename $file}
} | sort | uniq
}
2006-02-18 23:23:49 +03:00
items $OLD_PATH >/tmp/ns.$USER.$DISPLAY/p.menu &
# MISC
2006-02-13 12:31:38 +03:00
xsetroot -solid '#0b1014'
status &
2006-02-10 19:13:26 +03:00
# EVENT LOOP
2006-02-18 23:23:49 +03:00
wmiir read /event |
2006-02-10 18:10:21 +03:00
while(event=`{read}) {
2006-02-18 23:23:49 +03:00
if(~ $event(1) PN)
xwrite /bar/1/data $event(2)
if(~ $event(1) CN) {
buf=`{echo $"event | sed 's/^CN //'}
xwrite /bar/2/data $"buf
}
if(~ $event(1) CF) {
buf=`{echo $event(2) $event(3) | awk '{printf("warp %d %d", $1+4, $2+4)}'}
xwrite /ctl $"buf
}
if(~ $event(1) LB) { # label button press
switch($event(3)) { # button
case 1
if(~ $event(2) 1) { # label
xwrite /ctl pager
}
if not {
xwrite /ctl 'select prev'
}
case 3
xwrite /ctl 'select next'
case 4
xwrite /ctl 'select next'
case 5
xwrite /ctl 'select prev'
}
}
if(~ $event(1) K) { # key press
switch($event(2)) {
case $MODKEY-Control-c
xwrite /sel/sel/sel/ctl kill
case $MODKEY-Control-w,y
wmiirc &
case $MODKEY-Control-q,y
xwrite /ctl quit
case $MODKEY-Control-p
{
cmd=`{cat /tmp/ns.$USER.$DISPLAY/p.menu | wmiimenu}
if(! ~ $#cmd 0)
extern $cmd
} &
2006-02-18 23:23:49 +03:00
case $MODKEY-Control-a
{
cmd=`{items CONFPREFIX/wmii-3:$HOME/.wmii-3 | wmiimenu}
if(! ~ $#cmd 0)
$cmd
} &
2006-02-18 23:23:49 +03:00
case $MODKEY-t
extern xterm -rv &
case $MODKEY-d
xwrite /sel/sel/sel/ctl detach
case $MODKEY-a
xwrite /ctl attach
case $MODKEY-Shift-a
xwrite /ctl detached
case $MODKEY-n
wmiir read /sel/new >/dev/null >[2=1]
case $MODKEY-m
xwrite /sel/sel/sel/ctl max
case $MODKEY-Return
xwrite /sel/sel/ctl 'swap east'
case $MODKEY-Shift-Return
xwrite /sel/sel/ctl 'swap west'
case $MODKEY-Control-y
wmiir read /new >/dev/null >[2=1]
case $MODKEY-h
xwrite /sel/ctl 'select next'
case $MODKEY-l
xwrite /sel/ctl 'select prev'
case $MODKEY-Tab
xwrite /sel/sel/ctl 'select next'
case $MODKEY-j
xwrite /sel/sel/ctl 'select next'
case $MODKEY-k
xwrite /sel/sel/ctl 'select prev'
case $MODKEY-Shift-h
xwrite /ctl 'select prev'
case $MODKEY-Shift-l
xwrite /ctl 'select next'
case $MODKEY-Shift-p
xwrite /ctl pager
case $MODKEY-Shift-[1-9]
xwrite /ctl 'select '^`{echo $event(2) | sed 's/.*-//'}
}
}
}