wmii/rc/wmirc
2005-12-08 21:29:15 +02:00

191 lines
6.3 KiB
Bash

#!9PREFIX/bin/rc
# configure wmii
TAB=1
BAR_HEIGHT=16
SEL_BG_COLOR='#307080'
SEL_FG_COLOR='#fefefe'
SEL_BORDER_COLOR='#5090a0'
NORM_BG_COLOR='#004050'
NORM_FG_COLOR='#cccccc'
NORM_BORDER_COLOR='#206070'
FONT='fixed'
MODKEY=M
NORTHKEY=k
SOUTHKEY=j
WESTKEY=h
EASTKEY=l
nl='
'
fn kbind {
wmir create /keys/mode/$1/$2 $3
}
fn selstyle {
wmir write $1/fgcolor $SEL_FG_COLOR
wmir write $1/bgcolor $SEL_BG_COLOR
wmir write $1/bordercolor $SEL_BORDER_COLOR
}
fn normstyle {
wmir write $1/fgcolor $NORM_FG_COLOR
wmir write $1/bgcolor $NORM_BG_COLOR
wmir write $1/bordercolor $NORM_BORDER_COLOR
}
fn items {
ifs=:$nl { dirs=`{echo $2} }
{
for(dir in $dirs) {
for(file in $dir/*) {
if(! ~ $file $dir^'/*' && ! test -d $file && test -x $file) {
file=`{basename $file}
echo create /menu/items/$1/$"file $"file
}
}
}
} | sort | wmir -f &
}
fn frameconf {
wmir write $1/event/b2press 'wmir write /wm/ctl close'
normstyle $1/nstyle
selstyle $1/sstyle
wmir write $1/tab $TAB
if(~ $2 refresh)
wmir write $1/geometry +0,+0,+0,+0 # causes refresh
}
fn framesconf {
for(frame in `{wmir read $1 | grep '^[0-9]'})
frameconf $1/$frame $2
}
# WMIBAR CONFIGURATION
fn barsucks {
wmir write /bar/$1/b1press 'wmir write /wm/ctl ''select prev'''
wmir write /bar/$1/b3press 'wmir write /wm/ctl ''select next'''
wmir write /bar/$1/b4press 'wmir write /wm/ctl ''select prev'''
wmir write /bar/$1/b5press 'wmir write /wm/ctl ''select next'''
}
wmir write /bar/ctl reset
wmir write /bar/font $FONT
wmir write /bar/fgcolor $NORM_FG_COLOR
wmir write /bar/bgcolor $NORM_BG_COLOR
wmir write /bar/bordercolor $NORM_BORDER_COLOR
plab=`{wmir read /bar/new}
wmir write /bar/$plab/b1press 'wmir write /wm/ctl pager'
clab=`{wmir read /bar/new}
wmir write /bar/$clab/fgcolor $SEL_FG_COLOR
wmir write /bar/$clab/bgcolor $SEL_BG_COLOR
wmir write /bar/$clab/bordercolor $SEL_BG_COLOR
barsucks $clab
wmir write /bar/expandable 1
wmir write /bar/geometry 0,south,east,$BAR_HEIGHT
wmir write /bar/ctl 'display 1'
# WMIIWM CONFIGURATION
# default layout (column, float):
wmir write /wm/default/layout column
wmir write /wm/default/font $FONT
wmir write /wm/default/transcolor $SEL_BG_COLOR
wmir write /wm/default/handleinc 1
wmir write /wm/default/border 1
wmir write /wm/default/pagegeometry '0,0,east,south-'^$BAR_HEIGHT
wmir write /wm/event/clientupdate \
'text=`{wmir read /wm/sel/a/sel/f/sel/c/sel/name} \
wmir write /bar/'^$clab^'/data $"text'
wmir write /wm/event/pageupdate \
'text=`{wmir read /wm/sel/name} ^ \
`{wmir read /wm/sel/a/sel/layout|awk ''{print substr($0,0,1)}''} ^ \
`{wmir read /keys/lookup|awk ''{print substr($0,7,1)}''} \
wmir write /bar/'^$plab^'/data $"text'
for(frame in `{wmir read /wm/sel/a/sel | grep '^[0-9]'})
framesconf /wm/sel/a/sel/$frame refresh
frameconf /wm/default norefresh
# WMIKEYS CONFIGURATION
kbind bare $MODKEY-Escape 'kmode normal'
kbind move Escape 'kmode normal'
kbind move $MODKEY-C-r 'kmode resize'
kbind move $NORTHKEY 'wmir write /wm/sel/a/sel/f/sel/geometry -0,-30,-0,-0'
kbind move $SOUTHKEY 'wmir write /wm/sel/a/sel/f/sel/geometry +0,+30,+0,+0'
kbind move $WESTKEY 'wmir write /wm/sel/a/sel/f/sel/geometry -40,-0,-0,-0'
kbind move $EASTKEY 'wmir write /wm/sel/a/sel/f/sel/geometry +40,+0,+0,+0'
kbind move S-$NORTHKEY 'wmir write /wm/sel/a/sel/f/sel/geometry -0,north,-0,-0'
kbind move S-$SOUTHKEY 'wmir write /wm/sel/a/sel/f/sel/geometry +0,south-'^$BAR_HEIGHT^',+0,+0'
kbind move S-$WESTKEY 'wmir write /wm/sel/a/sel/f/sel/geometry west,-0,-0,-0'
kbind move S-$EASTKEY 'wmir write /wm/sel/a/sel/f/sel/geometry east,+0,+0,+0'
kbind resize Escape 'kmode normal'
kbind resize $MODKEY-C-m 'kmode move'
kbind resize $NORTHKEY 'wmir write /wm/sel/a/sel/f/sel/geometry +0,+0,+0,-30'
kbind resize $SOUTHKEY 'wmir write /wm/sel/a/sel/f/sel/geometry +0,+0,+0,+30'
kbind resize $WESTKEY 'wmir write /wm/sel/a/sel/f/sel/geometry +0,+0,-40,+0'
kbind resize $EASTKEY 'wmir write /wm/sel/a/sel/f/sel/geometry +0,+0,+40,+0'
kbind normal $MODKEY-C-b 'kmode bare'
kbind normal $MODKEY-C-m 'kmode move'
kbind normal $MODKEY-C-r 'kmode resize'
kbind normal $MODKEY-C-a 'wmir write /menu/precmd ''''; wmir write /menu/lookup /items/actions; wmir write /menu/ctl ''display 1'''
kbind normal $MODKEY-C-p 'wmir write /menu/precmd extern; wmir write /menu/lookup /items/programs; wmir write /menu/ctl ''display 1'''
kbind normal $MODKEY-C-c 'wmir write /wm/ctl close'
kbind normal $MODKEY-C-q,y quit
kbind normal $MODKEY-C-w,y wmirc
kbind normal $MODKEY-t 'extern xterm ''+sb'' -bg ''#003040'' -fg ''#dddddd'' -cr ''#408090'' -sl 4000'
kbind normal $MODKEY-d 'wmir write /wm/ctl detach'
kbind normal $MODKEY-a 'wmir write /wm/ctl attach'
kbind normal $MODKEY-S-a 'wmir write /wm/ctl icons'
kbind normal $MODKEY-Return 'wmir write /wm/sel/ctl ''select zoomed'''
kbind normal $MODKEY-C-y 'wmir write /wm/ctl new'
kbind normal $MODKEY-u 'wmir write /wm/sel/a/sel/f/sel/locked 0'
kbind normal $MODKEY-S-u 'wmir write /wm/sel/a/sel/f/sel/locked 1'
kbind normal $MODKEY-$WESTKEY 'wmir write /wm/ctl ''select prev'''
kbind normal $MODKEY-$EASTKEY 'wmir write /wm/ctl ''select next'''
kbind normal $MODKEY-Tab 'wmir write /wm/sel/ctl ''select next'''
kbind normal $MODKEY-$SOUTHKEY 'wmir write /wm/sel/ctl ''select next'''
kbind normal $MODKEY-$NORTHKEY 'wmir write /wm/sel/ctl ''select prev'''
kbind normal $MODKEY-S-Tab 'wmir write /wm/sel/a/sel/f/sel/ctl ''select next'''
kbind normal $MODKEY-S-$SOUTHKEY 'wmir write /wm/sel/a/sel/f/sel/ctl ''select next'''
kbind normal $MODKEY-S-$NORTHKEY 'wmir write /wm/sel/a/sel/f/sel/ctl ''select prev'''
kbind normal $MODKEY-space 'wmir write /wm/sel/ctl ''select toggled'''
kbind normal $MODKEY-S-p 'wmir write /wm/ctl pager'
for(i in 0 1 2 3 4 5 6 7 8 9) {
kbind normal $MODKEY-S-$i 'wmir write /wm/ctl ''select '^$i^''''
}
wmir write /keys/geometry center,center,100,$BAR_HEIGHT
wmir write /keys/box/font $FONT
selstyle /keys/box
kmode normal
# WMIMENU CONFIGURATION
items actions $WMII_CONFDIR:$HOME/.wmii-3
wmir create /menu/items/actions/rmpage 'wmir write /wm/ctl destroy'
items programs $OLD_PATH
wmir write /menu/geometry 0,south,east,$BAR_HEIGHT
wmir write /menu/font $FONT
normstyle /menu/nstyle >[2]/dev/null
selstyle /menu/sstyle >[2]/dev/null
# MISC
xsetroot -mod 2 2 -fg '#003040' -bg '#004050'
status &