equal
deleted
inserted
replaced
87 if(!issel || (c && !isvisible(c))) |
87 if(!issel || (c && !isvisible(c))) |
88 return; |
88 return; |
89 if(!sel) |
89 if(!sel) |
90 sel = c; |
90 sel = c; |
91 else if(sel != c) { |
91 else if(sel != c) { |
92 if(maximized) |
|
93 togglemax(NULL); |
|
94 old = sel; |
92 old = sel; |
95 sel = c; |
93 sel = c; |
96 if(old) { |
94 if(old) { |
97 grabbuttons(old, False); |
95 grabbuttons(old, False); |
98 drawtitle(old); |
96 drawtitle(old); |
206 c->x = c->tx = wa->x; |
204 c->x = c->tx = wa->x; |
207 c->y = c->ty = wa->y; |
205 c->y = c->ty = wa->y; |
208 c->w = c->tw = wa->width; |
206 c->w = c->tw = wa->width; |
209 c->h = wa->height; |
207 c->h = wa->height; |
210 c->th = bh; |
208 c->th = bh; |
|
209 c->rx = sx; |
|
210 c->ry = bh; |
|
211 c->rw = sw; |
|
212 c->rh = sh - bh; |
211 |
213 |
212 c->border = 0; |
214 c->border = 0; |
213 updatesize(c); |
215 updatesize(c); |
214 |
216 |
215 if(c->x + c->w + 2 > sw) |
217 if(c->x + c->w + 2 > sw) |
368 XFree(name.value); |
370 XFree(name.value); |
369 resizetitle(c); |
371 resizetitle(c); |
370 } |
372 } |
371 |
373 |
372 void |
374 void |
373 togglemax(Arg *arg) { |
|
374 int ox, oy, ow, oh; |
|
375 Client *c; |
|
376 XEvent ev; |
|
377 |
|
378 if(!sel) |
|
379 return; |
|
380 |
|
381 if((maximized = !maximized)) { |
|
382 ox = sel->x; |
|
383 oy = sel->y; |
|
384 ow = sel->w; |
|
385 oh = sel->h; |
|
386 sel->x = sx; |
|
387 sel->y = sy + bh; |
|
388 sel->w = sw - 2; |
|
389 sel->h = sh - 2 - bh; |
|
390 |
|
391 restack(); |
|
392 for(c = getnext(clients); c; c = getnext(c->next)) |
|
393 if(c != sel) |
|
394 ban(c); |
|
395 resize(sel, arrange == dofloat, TopLeft); |
|
396 |
|
397 sel->x = ox; |
|
398 sel->y = oy; |
|
399 sel->w = ow; |
|
400 sel->h = oh; |
|
401 } |
|
402 else |
|
403 arrange(NULL); |
|
404 while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); |
|
405 } |
|
406 |
|
407 void |
|
408 unmanage(Client *c) { |
375 unmanage(Client *c) { |
409 Client *nc; |
376 Client *nc; |
410 |
377 |
411 /* The server grab construct avoids race conditions. */ |
378 /* The server grab construct avoids race conditions. */ |
412 XGrabServer(dpy); |
379 XGrabServer(dpy); |