equal
deleted
inserted
replaced
67 LAYOUTS |
67 LAYOUTS |
68 |
68 |
69 /* extern */ |
69 /* extern */ |
70 |
70 |
71 void |
71 void |
72 focusnext(Arg arg) { |
72 focusnext(const char *arg) { |
73 Client *c; |
73 Client *c; |
74 |
74 |
75 if(!sel) |
75 if(!sel) |
76 return; |
76 return; |
77 for(c = sel->next; c && !isvisible(c); c = c->next); |
77 for(c = sel->next; c && !isvisible(c); c = c->next); |
82 restack(); |
82 restack(); |
83 } |
83 } |
84 } |
84 } |
85 |
85 |
86 void |
86 void |
87 focusprev(Arg arg) { |
87 focusprev(const char *arg) { |
88 Client *c; |
88 Client *c; |
89 |
89 |
90 if(!sel) |
90 if(!sel) |
91 return; |
91 return; |
92 for(c = sel->prev; c && !isvisible(c); c = c->prev); |
92 for(c = sel->prev; c && !isvisible(c); c = c->prev); |
99 restack(); |
99 restack(); |
100 } |
100 } |
101 } |
101 } |
102 |
102 |
103 void |
103 void |
104 incmasterw(Arg arg) { |
104 incmasterw(const char *arg) { |
|
105 int i; |
105 if(lt->arrange != tile) |
106 if(lt->arrange != tile) |
106 return; |
107 return; |
107 if(arg.i == 0) |
108 if(!arg) |
108 masterw = MASTERWIDTH; |
109 masterw = MASTERWIDTH; |
109 else { |
110 else { |
110 if(waw * (masterw + arg.i) / 1000 >= waw - 2 * BORDERPX |
111 i = atoi(arg); |
111 || waw * (masterw + arg.i) / 1000 <= 2 * BORDERPX) |
112 if(waw * (masterw + i) / 1000 >= waw - 2 * BORDERPX |
|
113 || waw * (masterw + i) / 1000 <= 2 * BORDERPX) |
112 return; |
114 return; |
113 masterw += arg.i; |
115 masterw += i; |
114 } |
116 } |
115 lt->arrange(); |
117 lt->arrange(); |
116 } |
118 } |
117 |
119 |
118 void |
120 void |
119 incnmaster(Arg arg) { |
121 incnmaster(const char *arg) { |
120 if((lt->arrange != tile) || (nmaster + arg.i < 1) |
122 int i = arg ? atoi(arg) : 0; |
121 || (wah / (nmaster + arg.i) <= 2 * BORDERPX)) |
123 if((lt->arrange != tile) || (nmaster + i < 1) |
122 return; |
124 || (wah / (nmaster + i) <= 2 * BORDERPX)) |
123 nmaster += arg.i; |
125 return; |
|
126 nmaster += i; |
124 if(sel) |
127 if(sel) |
125 lt->arrange(); |
128 lt->arrange(); |
126 else |
129 else |
127 drawstatus(); |
130 drawstatus(); |
128 } |
131 } |
168 XSync(dpy, False); |
171 XSync(dpy, False); |
169 while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); |
172 while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); |
170 } |
173 } |
171 |
174 |
172 void |
175 void |
173 setlayout(Arg arg) { |
176 setlayout(const char *arg) { |
174 unsigned int i; |
177 unsigned int i; |
175 |
178 |
176 if(arg.i == -1) { |
179 if(!arg) { |
177 for(i = 0; i < nlayouts && lt != &layout[i]; i++); |
180 for(i = 0; i < nlayouts && lt != &layout[i]; i++); |
178 if(i == nlayouts - 1) |
181 if(i == nlayouts - 1) |
179 lt = &layout[0]; |
182 lt = &layout[0]; |
180 else |
183 else |
181 lt = &layout[++i]; |
184 lt = &layout[++i]; |
182 } |
185 } |
183 else { |
186 else { |
184 if(arg.i < 0 || arg.i >= nlayouts) |
187 i = atoi(arg); |
|
188 if(i < 0 || i >= nlayouts) |
185 return; |
189 return; |
186 lt = &layout[arg.i]; |
190 lt = &layout[i]; |
187 } |
191 } |
188 if(sel) |
192 if(sel) |
189 lt->arrange(); |
193 lt->arrange(); |
190 else |
194 else |
191 drawstatus(); |
195 drawstatus(); |
192 } |
196 } |
193 |
197 |
194 void |
198 void |
195 togglemax(Arg arg) { |
199 togglemax(const char *arg) { |
196 XEvent ev; |
200 XEvent ev; |
197 |
201 |
198 if(!sel || (lt->arrange != versatile && !sel->isversatile) || sel->isfixed) |
202 if(!sel || (lt->arrange != versatile && !sel->isversatile) || sel->isfixed) |
199 return; |
203 return; |
200 if((sel->ismax = !sel->ismax)) { |
204 if((sel->ismax = !sel->ismax)) { |
232 } |
236 } |
233 restack(); |
237 restack(); |
234 } |
238 } |
235 |
239 |
236 void |
240 void |
237 zoom(Arg arg) { |
241 zoom(const char *arg) { |
238 unsigned int n; |
242 unsigned int n; |
239 Client *c; |
243 Client *c; |
240 |
244 |
241 if(!sel || lt->arrange != tile || sel->isversatile) |
245 if(!sel || lt->arrange != tile || sel->isversatile) |
242 return; |
246 return; |