File: wmiirc

package info (click to toggle)
wmii2 2.5.2-4
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 592 kB
  • ctags: 927
  • sloc: ansic: 9,195; makefile: 228; sh: 136
file content (219 lines) | stat: -rwxr-xr-x 8,021 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
#!9PREFIX/bin/rc
# configure wmii

TAB_HEIGHT=16
BAR_HEIGHT=16
BORDER_WIDTH=3

SELECTED_BG_COLOR='#304050'
SELECTED_FG_COLOR='#eeeeee'
SELECTED_BORDER_COLOR='#506070'
NORMAL_BG_COLOR='#222222'
NORMAL_FG_COLOR='#bbbbbb'
NORMAL_BORDER_COLOR='#111111'
TEXT_FONT='fixed'

MODKEY=M  # M, M2, M3, WIN, or M5
NORTHKEY=k
SOUTHKEY=j
WESTKEY=h
EASTKEY=l

nl='
'

fn kbind {
    wmiir create /keys/mode/$1/$2 $3
}

fn selstyle {
    wmiir write $1/text-font $TEXT_FONT
    wmiir write $1/text-color $SELECTED_FG_COLOR
    wmiir write $1/bg-color $SELECTED_BG_COLOR
    wmiir write $1/border-color $SELECTED_BORDER_COLOR
}

fn normstyle {
    wmiir write $1/text-font $TEXT_FONT
    wmiir write $1/text-color $NORMAL_FG_COLOR
    wmiir write $1/bg-color $NORMAL_BG_COLOR
    wmiir write $1/border-color $NORMAL_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 | wmiir -f &
}

fn frameconf {
    wmiir write $1/event/b3press 'wmiir write /wm/page/sel/ctl toggle'
    wmiir write $1/event/b2press 'wmiir write /wm/ctl close'
    normstyle $1/norm-style
    selstyle $1/sel-style
    wmiir write $1/tab-height $TAB_HEIGHT
    if(~ $2 refresh)
        wmiir write $1/size +0,+0,+0,+0  # causes refresh
}

fn framesconf {
    for(frame in `{wmiir read $1 | grep '^[0-9]'})
        frameconf $1/$frame $2
}


# WMIIBAR CONFIGURATION

fn barsucks {
    wmiir write /bar/$1/b1press 'wmiir write /wm/ctl ''select prev'''
    wmiir write /bar/$1/b3press 'wmiir write /wm/ctl ''select next'''
    wmiir write /bar/$1/b4press 'wmiir write /wm/ctl ''select prev'''
    wmiir write /bar/$1/b5press 'wmiir write /wm/ctl ''select next'''
}

wmiir write /bar/ctl reset
wmiir write /bar/font $TEXT_FONT
wmiir write /bar/fgcolor $NORMAL_FG_COLOR
wmiir write /bar/bgcolor $NORMAL_BG_COLOR
wmiir write /bar/bordercolor $NORMAL_BORDER_COLOR

plab=`{wmiir read /bar/new}
wmiir write /bar/$plab/b1press 'wmiir write /wm/ctl pager'

clab=`{wmiir read /bar/new}
wmiir write /bar/$clab/fgcolor $SELECTED_FG_COLOR
wmiir write /bar/$clab/bgcolor $SELECTED_BG_COLOR
wmiir write /bar/$clab/bordercolor $SELECTED_BG_COLOR
barsucks $clab

wmiir write /bar/expandable 2
wmiir write /bar/geometry 0,south,east,$BAR_HEIGHT
wmiir write /bar/ctl 'display 1'


# WMIIWM CONFIGURATION

# default layout (tiled, max, grid, vsplit or float):
wmiir write /wm/default/page/layout tiled

# width of the left frame in tiled layout in percent:
wmiir write /wm/default/page/tile-width 60

wmiir write /wm/default/core/trans-color $SELECTED_FG_COLOR
wmiir write /wm/default/frame/handle-inc 1

# some broken WIMP apps:
wmiir create /wm/default/client/'xmms:*'/manage 0
wmiir create /wm/default/client/'Gimp:*'/manage 0

wmiir write /wm/default/frame/border-width $BORDER_WIDTH
wmiir write /wm/default/page/size '0,0,east,south-'^$BAR_HEIGHT
wmiir write /wm/event/client-update \
'n=`{wmiir read /wm/page/sel/mode/sel/client/sel/name >[2]/dev/null} \
wmiir write /bar/'^$clab^'/data $"n'
wmiir write /wm/event/page-update \
'n=`{wmiir read /wm/page/sel/name >[2]/dev/null} \
l=`{wmiir read /wm/page/sel/mode/name >[2]/dev/null|awk ''{print substr($0,0,1)}''} \
m=`{wmiir read /keys/lookup >[2]/dev/null|awk ''{print substr($0,7,1)}''} \
wmiir write /bar/'^$plab^'/data $"n^$"l^$"m'

for(page in `{wmiir read /wm/page | grep '^[0-9]'}) {
    framesconf /wm/page/$page/floating refresh
    framesconf /wm/page/$page/managed refresh
}
frameconf /wm/default/frame norefresh
for(i in norm-style norm-style/client)
    normstyle /wm/default/core/pager/$i
for(i in sel-style sel-style/client)
    selstyle /wm/default/core/pager/$i
wmiir write /wm/page/sel/managed/size 0,0,east,south-$BAR_HEIGHT >[2]/dev/null


# WMIIKEYS CONFIGURATION

kbind bare $MODKEY-Escape 'kmode normal'

kbind move Escape 'kmode normal'
kbind move $MODKEY-C-r 'kmode resize'
kbind move $NORTHKEY 'wmiir write /wm/page/sel/mode/sel/size -0,-30,-0,-0'
kbind move $SOUTHKEY 'wmiir write /wm/page/sel/mode/sel/size +0,+30,+0,+0'
kbind move $WESTKEY 'wmiir write /wm/page/sel/mode/sel/size -40,-0,-0,-0'
kbind move $EASTKEY 'wmiir write /wm/page/sel/mode/sel/size +40,+0,+0,+0'
kbind move S-$NORTHKEY 'wmiir write /wm/page/sel/mode/sel/size -0,north,-0,-0'
kbind move S-$SOUTHKEY 'wmiir write /wm/page/sel/mode/sel/size +0,south-'^$BAR_HEIGHT^',+0,+0'
kbind move S-$WESTKEY 'wmiir write /wm/page/sel/mode/sel/size west,-0,-0,-0'
kbind move S-$EASTKEY 'wmiir write /wm/page/sel/mode/sel/size east,+0,+0,+0'

kbind resize Escape 'kmode normal'
kbind resize $MODKEY-C-m 'kmode move'
kbind resize $NORTHKEY 'wmiir write /wm/page/sel/mode/sel/size +0,+0,+0,-30'
kbind resize $SOUTHKEY 'wmiir write /wm/page/sel/mode/sel/size +0,+0,+0,+30'
kbind resize $WESTKEY 'wmiir write /wm/page/sel/mode/sel/size +0,+0,-40,+0'
kbind resize $EASTKEY 'wmiir write /wm/page/sel/mode/sel/size +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 'wmiir write /menu/precmd ''''; wmiir write /menu/lookup /items/actions; wmiir write /menu/ctl ''display 1'''
kbind normal $MODKEY-C-p 'wmiir write /menu/precmd extern; wmiir write /menu/lookup /items/programs; wmiir write /menu/ctl ''display 1'''
kbind normal $MODKEY-C-c 'wmiir write /wm/ctl close'
kbind normal $MODKEY-C-q,y quit
kbind normal $MODKEY-C-w,y wmiirc
kbind normal $MODKEY-t 'extern xterm ''+sb'' -bg ''#000000'' -fg ''#eeeeee'' -cr ''#ffffff'' -sl 4000'
kbind normal $MODKEY-d 'wmiir write /wm/ctl detach'
kbind normal $MODKEY-a 'wmiir write /wm/ctl attach'
kbind normal $MODKEY-S-a 'wmiir write /wm/ctl icons'
kbind normal $MODKEY-S-space 'wmiir write /wm/page/sel/ctl toggle'
kbind normal $MODKEY-Return 'wmiir write /wm/page/sel/ctl ''select zoomed'''
kbind normal $MODKEY-C-y 'wmiir write /wm/ctl new'
kbind normal $MODKEY-u 'wmiir write /wm/page/sel/mode/sel/locked 0'
kbind normal $MODKEY-S-u 'wmiir write /wm/page/sel/mode/sel/locked 1'
kbind normal $MODKEY-m 'wmiir write /wm/ctl togglemax'
kbind normal $MODKEY-S-t 'wmiir write /wm/page/sel/managed/name tiled'
kbind normal $MODKEY-S-g 'wmiir write /wm/page/sel/managed/name grid'
kbind normal $MODKEY-S-v 'wmiir write /wm/page/sel/managed/name vsplit'
kbind normal $MODKEY-S-f 'wmiir write /wm/page/sel/managed/name float'
kbind normal $MODKEY-S-m 'wmiir write /wm/page/sel/managed/name max'
kbind normal $MODKEY-$WESTKEY 'wmiir write /wm/ctl ''select prev'''
kbind normal $MODKEY-$EASTKEY 'wmiir write /wm/ctl ''select next'''
kbind normal $MODKEY-Tab 'wmiir write /wm/page/sel/ctl ''select next'''
kbind normal $MODKEY-$SOUTHKEY 'wmiir write /wm/page/sel/ctl ''select next'''
kbind normal $MODKEY-$NORTHKEY 'wmiir write /wm/page/sel/ctl ''select prev'''
kbind normal $MODKEY-S-Tab 'wmiir write /wm/page/sel/mode/sel/ctl ''select next'''
kbind normal $MODKEY-S-$SOUTHKEY 'wmiir write /wm/page/sel/mode/sel/ctl ''select next'''
kbind normal $MODKEY-S-$NORTHKEY 'wmiir write /wm/page/sel/mode/sel/ctl ''select prev'''
kbind normal $MODKEY-space 'wmiir write /wm/page/sel/ctl ''select toggled'''
kbind normal $MODKEY-S-p 'wmiir write /wm/ctl pager'
kbind normal $MODKEY-S-0 'wmiir write /wm/ctl ''select 10'''
for(i in 1 2 3 4 5 6 7 8 9) {
    kbind normal $MODKEY-S-$i 'wmiir write /wm/ctl ''select '^$i^''''
}

wmiir write /keys/size center,center,100,$BAR_HEIGHT
selstyle /keys/box/style
kmode normal


# WMIIMENU CONFIGURATION

items actions $WMII_CONFDIR:$HOME/.wmii-2.5
wmiir create /menu/items/actions/rmpage 'wmiir write /wm/ctl destroy'
items programs $OLD_PATH
wmiir write /menu/size 0,south,east,$BAR_HEIGHT
normstyle /menu/style >[2]/dev/null
normstyle /menu/norm-style >[2]/dev/null
selstyle /menu/sel-style >[2]/dev/null


# MISC

xsetroot -mod 2 2 -fg '#000000' -bg '#111111'
status &