2006-11-03 23:00:23 +01:00
|
|
|
#!/bin/sh
|
2007-02-02 23:57:40 +01:00
|
|
|
# Configure wmii
|
2006-02-25 19:36:53 +01:00
|
|
|
|
2007-02-02 23:57:40 +01:00
|
|
|
# FUNCTIONS
|
2006-02-25 19:36:53 +01:00
|
|
|
xwrite() {
|
|
|
|
file="$1"; shift
|
2006-12-24 00:20:28 +01:00
|
|
|
echo -n "$@" | wmiir write "$file"
|
2006-02-25 19:36:53 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
proglist() {
|
2006-06-24 05:15:41 -04:00
|
|
|
ls -lL "$@" 2>/dev/null | awk 'NF>2 && $1 ~ /^[^d].*x/ {print $NF}' | sort | uniq
|
|
|
|
}
|
|
|
|
|
|
|
|
conf_which () {
|
2007-02-02 23:57:40 +01:00
|
|
|
prog=$1; shift
|
|
|
|
if [ -n "$prog" ]
|
2006-12-21 13:32:27 +01:00
|
|
|
then
|
|
|
|
echo `PATH="$WMII_CONFPATH:$PATH" which $prog` "$@"
|
|
|
|
fi
|
2006-02-25 19:36:53 +01:00
|
|
|
}
|
|
|
|
|
2006-12-18 11:50:18 +01:00
|
|
|
tagsmenu() {
|
2006-12-24 00:20:28 +01:00
|
|
|
tag=`wmiir read /tag/sel/ctl`
|
2007-02-05 06:46:50 -05:00
|
|
|
wmiir ls /tag | sed "s|/||; /^sel\$/d" | $DMENU
|
2006-12-18 11:50:18 +01:00
|
|
|
}
|
|
|
|
|
2007-02-02 23:57:40 +01:00
|
|
|
# CONFIGURATION VARIABLES
|
2006-04-12 08:53:06 +02:00
|
|
|
MODKEY=Mod1
|
|
|
|
UP=k
|
|
|
|
DOWN=j
|
|
|
|
LEFT=h
|
|
|
|
RIGHT=l
|
|
|
|
|
2006-12-13 11:26:38 +01:00
|
|
|
WMII_FONT='-*-fixed-medium-r-normal-*-13-*-*-*-*-*-*-*'
|
2007-02-02 23:57:40 +01:00
|
|
|
# Colors tuples are "<text> <background> <border>"
|
2006-11-03 23:00:23 +01:00
|
|
|
WMII_NORMCOLORS='#222222 #eeeeee #666666'
|
2006-12-24 15:52:00 +01:00
|
|
|
WMII_SELCOLORS='#444444 #bbbbbb #556088'
|
|
|
|
WMII_FOCUSCOLORS='#ffffff #335577 #447799'
|
2006-12-18 11:50:18 +01:00
|
|
|
WMII_BACKGROUND='#333333'
|
|
|
|
|
2006-12-21 14:26:09 +01:00
|
|
|
DMENU="dmenu -b -fn $WMII_FONT -nb #eeeeee -nf #222222 -sb #335577 -sf #ffffff"
|
2006-12-18 11:50:18 +01:00
|
|
|
WMII_TERM="xterm"
|
2006-02-25 19:36:53 +01:00
|
|
|
|
2006-12-24 15:52:00 +01:00
|
|
|
export DMENU WMII_FONT WMII_FOCUSCOLORS WMII_SELCOLORS WMII_NORMCOLORS WMII_TERM
|
2006-10-30 09:54:22 +01:00
|
|
|
|
2006-02-25 19:36:53 +01:00
|
|
|
# WM CONFIGURATION
|
2006-12-24 00:20:28 +01:00
|
|
|
wmiir write /ctl << EOF
|
2006-06-20 22:06:02 -04:00
|
|
|
font $WMII_FONT
|
2006-12-24 15:52:00 +01:00
|
|
|
focuscolors $WMII_FOCUSCOLORS
|
2006-06-20 22:06:02 -04:00
|
|
|
selcolors $WMII_SELCOLORS
|
|
|
|
normcolors $WMII_NORMCOLORS
|
2006-06-20 22:52:40 -04:00
|
|
|
grabmod $MODKEY
|
2006-06-21 14:48:39 -04:00
|
|
|
border 2
|
2006-06-20 22:06:02 -04:00
|
|
|
EOF
|
2006-05-31 19:48:44 +02:00
|
|
|
|
|
|
|
# COLUMN RULES
|
2006-12-24 00:20:28 +01:00
|
|
|
wmiir write /colrules <<EOF
|
2007-02-06 08:12:21 +01:00
|
|
|
/.*/ -> 58+42
|
2006-05-31 09:51:40 +02:00
|
|
|
EOF
|
2006-02-25 19:36:53 +01:00
|
|
|
|
2006-03-10 17:17:59 +01:00
|
|
|
# TAGGING RULES
|
2006-12-24 00:20:28 +01:00
|
|
|
wmiir write /tagrules <<EOF
|
2006-04-11 18:45:40 +02:00
|
|
|
/XMMS.*/ -> ~
|
2006-12-24 15:52:00 +01:00
|
|
|
/Gimp.*/ -> gimp
|
2006-04-26 09:32:11 +02:00
|
|
|
/MPlayer.*/ -> ~
|
2006-04-13 14:58:22 +02:00
|
|
|
/.*/ -> !
|
|
|
|
/.*/ -> 1
|
2006-03-10 17:17:59 +01:00
|
|
|
EOF
|
|
|
|
|
2006-02-25 19:36:53 +01:00
|
|
|
# MISC
|
2006-09-27 17:40:39 +02:00
|
|
|
PROGS_FILE="$WMII_NS_DIR/.dmenu.proglist"
|
2006-06-24 06:45:27 -04:00
|
|
|
ACTIONS_DIRS=`echo "$WMII_CONFPATH" | tr : ' '`
|
2007-02-02 23:57:40 +01:00
|
|
|
|
|
|
|
`conf_which status` &
|
|
|
|
xsetroot -solid $WMII_BACKGROUND
|
2006-06-24 06:45:27 -04:00
|
|
|
proglist `echo "$PATH" | tr : ' '` >$PROGS_FILE &
|
2006-02-25 19:36:53 +01:00
|
|
|
|
2007-02-02 23:57:40 +01:00
|
|
|
# Stop any running instances of wmiirc
|
|
|
|
echo Start wmiirc | wmiir write /event || exit 1
|
|
|
|
|
|
|
|
# BOUND KEYS
|
2006-12-24 00:20:28 +01:00
|
|
|
wmiir write /keys <<EOF
|
2006-04-12 08:53:06 +02:00
|
|
|
$MODKEY-$LEFT
|
|
|
|
$MODKEY-$RIGHT
|
|
|
|
$MODKEY-$DOWN
|
|
|
|
$MODKEY-$UP
|
2006-04-10 19:47:34 +00:00
|
|
|
$MODKEY-space
|
2006-04-07 16:08:17 +02:00
|
|
|
$MODKEY-d
|
2006-04-24 19:56:47 +02:00
|
|
|
$MODKEY-f
|
2006-04-10 19:47:34 +00:00
|
|
|
$MODKEY-s
|
|
|
|
$MODKEY-m
|
|
|
|
$MODKEY-a
|
|
|
|
$MODKEY-p
|
2006-04-11 15:32:03 +02:00
|
|
|
$MODKEY-t
|
2006-03-09 12:00:47 +01:00
|
|
|
$MODKEY-0
|
2006-03-05 23:38:50 +01:00
|
|
|
$MODKEY-1
|
|
|
|
$MODKEY-2
|
|
|
|
$MODKEY-3
|
|
|
|
$MODKEY-4
|
|
|
|
$MODKEY-5
|
|
|
|
$MODKEY-6
|
|
|
|
$MODKEY-7
|
|
|
|
$MODKEY-8
|
|
|
|
$MODKEY-9
|
2006-04-11 15:32:03 +02:00
|
|
|
$MODKEY-Return
|
2006-04-12 08:53:06 +02:00
|
|
|
$MODKEY-Shift-$LEFT
|
|
|
|
$MODKEY-Shift-$RIGHT
|
2006-05-04 14:34:44 +02:00
|
|
|
$MODKEY-Shift-$UP
|
|
|
|
$MODKEY-Shift-$DOWN
|
2006-04-10 19:47:34 +00:00
|
|
|
$MODKEY-Shift-space
|
|
|
|
$MODKEY-Shift-c
|
|
|
|
$MODKEY-Shift-t
|
2006-03-09 12:00:47 +01:00
|
|
|
$MODKEY-Shift-0
|
2006-02-25 23:44:27 +00:00
|
|
|
$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 19:36:53 +01:00
|
|
|
|
2007-02-02 23:57:40 +01:00
|
|
|
# SETUP TAG BAR
|
2006-12-24 00:20:28 +01:00
|
|
|
wmiir ls /lbar |
|
2006-06-29 16:00:07 -04:00
|
|
|
while read bar
|
2006-06-21 17:12:02 -04:00
|
|
|
do
|
2006-12-24 00:20:28 +01:00
|
|
|
wmiir remove "/lbar/$bar"
|
2006-06-21 17:12:02 -04:00
|
|
|
done
|
|
|
|
|
2006-12-24 00:20:28 +01:00
|
|
|
seltag="`wmiir read /tag/sel/ctl 2>/dev/null`"
|
2007-02-02 23:57:40 +01:00
|
|
|
wmiir ls /tag | sed -e 's|/||; /^sel$/d' |
|
2006-06-29 16:00:07 -04:00
|
|
|
while read tag
|
2006-06-19 22:40:45 -04:00
|
|
|
do
|
|
|
|
if [ "X$tag" = "X$seltag" ]; then
|
2006-12-24 15:52:00 +01:00
|
|
|
echo "$WMII_FOCUSCOLORS" "$tag" | wmiir create "/lbar/$tag"
|
2006-06-19 22:40:45 -04:00
|
|
|
else
|
2006-12-24 00:20:28 +01:00
|
|
|
echo "$WMII_NORMCOLORS" "$tag" | wmiir create "/lbar/$tag"
|
2006-06-19 22:40:45 -04:00
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
2006-02-25 19:36:53 +01:00
|
|
|
# EVENT LOOP
|
2006-12-24 00:20:28 +01:00
|
|
|
wmiir read /event 2>/dev/null |
|
2006-02-25 19:36:53 +01:00
|
|
|
while read event
|
|
|
|
do
|
2006-05-26 16:43:52 +02:00
|
|
|
set -f
|
2006-02-25 19:36:53 +01:00
|
|
|
set -- $event
|
2006-05-26 16:43:52 +02:00
|
|
|
set +f
|
2006-02-25 19:36:53 +01:00
|
|
|
type="$1"; shift
|
2006-06-29 18:03:35 -04:00
|
|
|
parms="$@"
|
2006-02-25 19:36:53 +01:00
|
|
|
case "$type" in
|
2006-03-13 08:56:22 +01:00
|
|
|
Start)
|
2007-02-03 14:22:20 -05:00
|
|
|
if test "$1" = "wmiirc"
|
2006-03-13 08:56:22 +01:00
|
|
|
then
|
2006-03-22 16:05:12 +01:00
|
|
|
exit
|
|
|
|
fi;;
|
2006-06-06 21:10:30 +02:00
|
|
|
CreateTag)
|
2006-12-24 00:20:28 +01:00
|
|
|
echo "$WMII_NORMCOLORS" "$parms" | wmiir create "/lbar/$parms"
|
2006-06-06 21:10:30 +02:00
|
|
|
;;
|
|
|
|
DestroyTag)
|
2006-12-24 00:20:28 +01:00
|
|
|
wmiir remove "/lbar/$parms"
|
2006-06-06 21:10:30 +02:00
|
|
|
;;
|
|
|
|
FocusTag)
|
2006-12-24 15:52:00 +01:00
|
|
|
xwrite "/lbar/$parms" "$WMII_FOCUSCOLORS" "$parms"
|
2006-06-06 21:10:30 +02:00
|
|
|
;;
|
|
|
|
UnfocusTag)
|
2006-06-29 18:03:35 -04:00
|
|
|
xwrite "/lbar/$parms" "$WMII_NORMCOLORS" "$parms"
|
2006-06-06 21:10:30 +02:00
|
|
|
;;
|
2006-06-21 17:12:02 -04:00
|
|
|
LeftBarClick)
|
2006-06-23 00:37:59 -04:00
|
|
|
shift
|
|
|
|
xwrite /ctl view "$@";;
|
2006-03-10 21:42:39 +01:00
|
|
|
Key)
|
2007-02-02 23:57:40 +01:00
|
|
|
key="$1"
|
|
|
|
case "$key" in
|
2006-04-12 08:53:06 +02:00
|
|
|
$MODKEY-$LEFT)
|
2006-06-19 18:25:49 -04:00
|
|
|
xwrite /tag/sel/ctl select left;;
|
2006-04-12 08:53:06 +02:00
|
|
|
$MODKEY-$RIGHT)
|
2006-06-19 18:25:49 -04:00
|
|
|
xwrite /tag/sel/ctl select right;;
|
2006-04-12 14:14:34 +02:00
|
|
|
$MODKEY-$DOWN)
|
2006-06-19 16:05:02 +02:00
|
|
|
xwrite /tag/sel/ctl select down;;
|
2006-04-12 08:53:06 +02:00
|
|
|
$MODKEY-$UP)
|
2006-06-19 16:05:02 +02:00
|
|
|
xwrite /tag/sel/ctl select up;;
|
2006-04-10 19:47:34 +00:00
|
|
|
$MODKEY-space)
|
2006-06-20 10:24:58 +02:00
|
|
|
xwrite /tag/sel/ctl select toggle;;
|
2006-04-10 19:47:34 +00:00
|
|
|
$MODKEY-d)
|
2006-06-20 19:43:20 -04:00
|
|
|
xwrite /tag/sel/ctl colmode sel default;;
|
2006-04-10 19:47:34 +00:00
|
|
|
$MODKEY-s)
|
2006-06-20 19:43:20 -04:00
|
|
|
xwrite /tag/sel/ctl colmode sel stack;;
|
2006-04-10 19:47:34 +00:00
|
|
|
$MODKEY-m)
|
2006-06-20 19:43:20 -04:00
|
|
|
xwrite /tag/sel/ctl colmode sel max;;
|
2006-04-10 19:47:34 +00:00
|
|
|
$MODKEY-a)
|
2007-02-02 23:57:40 +01:00
|
|
|
`conf_which "$(proglist $ACTIONS_DIRS | $DMENU)"` &;;
|
2006-04-10 19:47:34 +00:00
|
|
|
$MODKEY-p)
|
2006-10-10 09:25:42 +02:00
|
|
|
sh -c "`$DMENU <$PROGS_FILE`" &;;
|
2006-04-11 15:32:03 +02:00
|
|
|
$MODKEY-t)
|
2007-02-02 23:57:40 +01:00
|
|
|
xwrite /ctl "view `tagsmenu`" &;;
|
2006-03-05 23:38:50 +01:00
|
|
|
$MODKEY-[0-9])
|
2007-02-02 23:57:40 +01:00
|
|
|
xwrite /ctl view "`echo $key | sed 's/.*-//'`";;
|
2006-04-11 15:32:03 +02:00
|
|
|
$MODKEY-Return)
|
2006-12-18 11:50:18 +01:00
|
|
|
$WMII_TERM &;;
|
2006-04-12 15:29:03 +02:00
|
|
|
$MODKEY-Shift-$LEFT)
|
2006-06-19 18:25:49 -04:00
|
|
|
xwrite /tag/sel/ctl send sel left;;
|
2006-04-12 15:29:03 +02:00
|
|
|
$MODKEY-Shift-$RIGHT)
|
2006-06-19 18:25:49 -04:00
|
|
|
xwrite /tag/sel/ctl send sel right;;
|
2006-05-04 14:34:44 +02:00
|
|
|
$MODKEY-Shift-$DOWN)
|
2006-06-19 13:18:09 +02:00
|
|
|
xwrite /tag/sel/ctl send sel down;;
|
2006-05-04 14:34:44 +02:00
|
|
|
$MODKEY-Shift-$UP)
|
2006-06-19 13:18:09 +02:00
|
|
|
xwrite /tag/sel/ctl send sel up;;
|
2006-04-10 19:47:34 +00:00
|
|
|
$MODKEY-Shift-space)
|
2006-06-19 13:18:09 +02:00
|
|
|
xwrite /tag/sel/ctl send sel toggle;;
|
2006-04-10 19:47:34 +00:00
|
|
|
$MODKEY-Shift-c)
|
2006-06-20 10:24:58 +02:00
|
|
|
xwrite /client/sel/ctl kill;;
|
2006-03-24 15:00:53 +01:00
|
|
|
$MODKEY-Shift-t)
|
2007-02-02 23:57:40 +01:00
|
|
|
xwrite "/client/`wmiir read /client/sel/ctl`/tags" `tagsmenu` &;;
|
2006-04-10 19:47:34 +00:00
|
|
|
$MODKEY-Shift-[0-9])
|
2007-02-02 23:57:40 +01:00
|
|
|
xwrite /client/sel/tags "`echo $key | sed 's/.*-//'`";;
|
2006-02-25 19:36:53 +01:00
|
|
|
esac;;
|
|
|
|
esac
|
2006-05-11 01:24:21 +02:00
|
|
|
done &
|