equal
deleted
inserted
replaced
9 /* static */ |
9 /* static */ |
10 |
10 |
11 typedef struct { |
11 typedef struct { |
12 unsigned long mod; |
12 unsigned long mod; |
13 KeySym keysym; |
13 KeySym keysym; |
14 void (*func)(Arg *arg); |
14 void (*func)(Arg arg); |
15 Arg arg; |
15 Arg arg; |
16 } Key; |
16 } Key; |
17 |
17 |
18 KEYS |
18 KEYS |
19 |
19 |
122 for(a.i = 0; a.i < ntags; a.i++) { |
122 for(a.i = 0; a.i < ntags; a.i++) { |
123 x += textw(tags[a.i]); |
123 x += textw(tags[a.i]); |
124 if(ev->x < x) { |
124 if(ev->x < x) { |
125 if(ev->button == Button1) { |
125 if(ev->button == Button1) { |
126 if(ev->state & MODKEY) |
126 if(ev->state & MODKEY) |
127 tag(&a); |
127 tag(a); |
128 else |
128 else |
129 view(&a); |
129 view(a); |
130 } |
130 } |
131 else if(ev->button == Button3) { |
131 else if(ev->button == Button3) { |
132 if(ev->state & MODKEY) |
132 if(ev->state & MODKEY) |
133 toggletag(&a); |
133 toggletag(a); |
134 else |
134 else |
135 toggleview(&a); |
135 toggleview(a); |
136 } |
136 } |
137 return; |
137 return; |
138 } |
138 } |
139 } |
139 } |
140 if(ev->x < x + blw) |
140 if(ev->x < x + blw) |
141 switch(ev->button) { |
141 switch(ev->button) { |
142 case Button1: |
142 case Button1: |
143 a.i = -1; |
143 a.i = -1; |
144 setlayout(&a); |
144 setlayout(a); |
145 break; |
145 break; |
146 case Button4: |
146 case Button4: |
147 a.i = 1; |
147 a.i = 1; |
148 incnmaster(&a); |
148 incnmaster(a); |
149 break; |
149 break; |
150 case Button5: |
150 case Button5: |
151 a.i = -1; |
151 a.i = -1; |
152 incnmaster(&a); |
152 incnmaster(a); |
153 break; |
153 break; |
154 } |
154 } |
155 } |
155 } |
156 else if((c = getclient(ev->window))) { |
156 else if((c = getclient(ev->window))) { |
157 focus(c); |
157 focus(c); |
160 if(ev->button == Button1 && (lt->arrange == versatile || c->isversatile)) { |
160 if(ev->button == Button1 && (lt->arrange == versatile || c->isversatile)) { |
161 restack(); |
161 restack(); |
162 movemouse(c); |
162 movemouse(c); |
163 } |
163 } |
164 else if(ev->button == Button2) |
164 else if(ev->button == Button2) |
165 zoom(NULL); |
165 zoom(a); |
166 else if(ev->button == Button3 |
166 else if(ev->button == Button3 |
167 && (lt->arrange == versatile || c->isversatile) && !c->isfixed) |
167 && (lt->arrange == versatile || c->isversatile) && !c->isfixed) |
168 { |
168 { |
169 restack(); |
169 restack(); |
170 resizemouse(c); |
170 resizemouse(c); |
259 for(i = 0; i < len; i++) |
259 for(i = 0; i < len; i++) |
260 if(keysym == key[i].keysym |
260 if(keysym == key[i].keysym |
261 && CLEANMASK(key[i].mod) == CLEANMASK(ev->state)) |
261 && CLEANMASK(key[i].mod) == CLEANMASK(ev->state)) |
262 { |
262 { |
263 if(key[i].func) |
263 if(key[i].func) |
264 key[i].func(&key[i].arg); |
264 key[i].func(key[i].arg); |
265 } |
265 } |
266 } |
266 } |
267 |
267 |
268 static void |
268 static void |
269 leavenotify(XEvent *e) { |
269 leavenotify(XEvent *e) { |