| 160 |
160 |
|
Bool isoccupied(unsigned int t); |
| 161 |
161 |
|
Bool isprotodel(Client *c); |
| 162 |
162 |
|
Bool isurgent(unsigned int t); |
| 163 |
|
- |
Bool isvisible(Client *c); |
|
163 |
+ |
Bool isvisible(Client *c, Bool *cmp); |
| 164 |
164 |
|
void keypress(XEvent *e); |
| 165 |
165 |
|
void killclient(const char *arg); |
| 166 |
166 |
|
void manage(Window w, XWindowAttributes *wa); |
|
| 287 |
287 |
|
Client *c; |
| 288 |
288 |
|
|
| 289 |
289 |
|
for(c = clients; c; c = c->next) |
| 290 |
|
- |
if(isvisible(c)) { |
|
290 |
+ |
if(isvisible(c, NULL)) { |
| 291 |
291 |
|
unban(c); |
| 292 |
292 |
|
if(lt->isfloating || c->isfloating) |
| 293 |
293 |
|
resize(c, c->fx, c->fy, c->fw, c->fh, True); |
|
| 469 |
469 |
|
if((ev->value_mask & (CWX|CWY)) |
| 470 |
470 |
|
&& !(ev->value_mask & (CWWidth|CWHeight))) |
| 471 |
471 |
|
configure(c); |
| 472 |
|
- |
if(isvisible(c)) |
|
472 |
+ |
if(isvisible(c, NULL)) |
| 473 |
473 |
|
XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h); |
| 474 |
474 |
|
} |
| 475 |
475 |
|
else |
|
| 536 |
536 |
|
drawtext(geom->symbol, dc.norm, False); |
| 537 |
537 |
|
dc.x += bgw; |
| 538 |
538 |
|
} |
| 539 |
|
- |
for(c = stack; c && !isvisible(c); c = c->snext); |
|
539 |
+ |
for(c = stack; c && !isvisible(c, NULL); c = c->snext); |
| 540 |
540 |
|
for(i = 0; i < LENGTH(tags); i++) { |
| 541 |
541 |
|
dc.w = textw(tags[i]); |
| 542 |
542 |
|
if(tagset[seltags][i]) { |
|
| 676 |
676 |
|
|
| 677 |
677 |
|
void |
| 678 |
678 |
|
focus(Client *c) { |
| 679 |
|
- |
if(!c || (c && !isvisible(c))) |
| 680 |
|
- |
for(c = stack; c && !isvisible(c); c = c->snext); |
|
679 |
+ |
if(!c || (c && !isvisible(c, NULL))) |
|
680 |
+ |
for(c = stack; c && !isvisible(c, NULL); c = c->snext); |
| 681 |
681 |
|
if(sel && sel != c) { |
| 682 |
682 |
|
grabbuttons(sel, False); |
| 683 |
683 |
|
XSetWindowBorder(dpy, sel->win, dc.norm[ColBorder]); |
|
| 711 |
711 |
|
|
| 712 |
712 |
|
if(!sel) |
| 713 |
713 |
|
return; |
| 714 |
|
- |
for(c = sel->next; c && !isvisible(c); c = c->next); |
|
714 |
+ |
for(c = sel->next; c && !isvisible(c, arg ? sel->tags : NULL); c = c->next); |
| 715 |
715 |
|
if(!c) |
| 716 |
|
- |
for(c = clients; c && !isvisible(c); c = c->next); |
|
716 |
+ |
for(c = clients; c && !isvisible(c, arg ? sel->tags : NULL); c = c->next); |
| 717 |
717 |
|
if(c) { |
| 718 |
718 |
|
focus(c); |
| 719 |
719 |
|
restack(); |
|
| 726 |
726 |
|
|
| 727 |
727 |
|
if(!sel) |
| 728 |
728 |
|
return; |
| 729 |
|
- |
for(c = sel->prev; c && !isvisible(c); c = c->prev); |
|
729 |
+ |
for(c = sel->prev; c && !isvisible(c, arg ? sel->tags : NULL); c = c->prev); |
| 730 |
730 |
|
if(!c) { |
| 731 |
731 |
|
for(c = clients; c && c->next; c = c->next); |
| 732 |
|
- |
for(; c && !isvisible(c); c = c->prev); |
|
732 |
+ |
for(; c && !isvisible(c, arg ? sel->tags : NULL); c = c->prev); |
| 733 |
733 |
|
} |
| 734 |
734 |
|
if(c) { |
| 735 |
735 |
|
focus(c); |
|
| 930 |
930 |
|
} |
| 931 |
931 |
|
|
| 932 |
932 |
|
Bool |
| 933 |
|
- |
isvisible(Client *c) { |
|
933 |
+ |
isvisible(Client *c, Bool *cmp) { |
| 934 |
934 |
|
unsigned int i; |
| 935 |
935 |
|
|
|
936 |
+ |
if(!cmp) |
|
937 |
+ |
cmp = tagset[seltags]; |
| 936 |
938 |
|
for(i = 0; i < LENGTH(tags); i++) |
| 937 |
|
- |
if(c->tags[i] && tagset[seltags][i]) |
|
939 |
+ |
if(c->tags[i] && cmp[i]) |
| 938 |
940 |
|
return True; |
| 939 |
941 |
|
return False; |
| 940 |
942 |
|
} |
|
| 1061 |
1063 |
|
Client *c; |
| 1062 |
1064 |
|
|
| 1063 |
1065 |
|
for(c = clients; c; c = c->next) |
| 1064 |
|
- |
if((lt->isfloating || !c->isfloating) && isvisible(c)) |
|
1066 |
+ |
if((lt->isfloating || !c->isfloating) && isvisible(c, NULL)) |
| 1065 |
1067 |
|
resize(c, mox, moy, mow - 2 * c->bw, moh - 2 * c->bw, RESIZEHINTS); |
| 1066 |
1068 |
|
} |
| 1067 |
1069 |
|
|
|
| 1115 |
1117 |
|
|
| 1116 |
1118 |
|
Client * |
| 1117 |
1119 |
|
nexttiled(Client *c) { |
| 1118 |
|
- |
for(; c && (c->isfloating || !isvisible(c)); c = c->next); |
|
1120 |
+ |
for(; c && (c->isfloating || !isvisible(c, NULL)); c = c->next); |
| 1119 |
1121 |
|
return c; |
| 1120 |
1122 |
|
} |
| 1121 |
1123 |
|
|
|
| 1292 |
1294 |
|
wc.stack_mode = Below; |
| 1293 |
1295 |
|
wc.sibling = barwin; |
| 1294 |
1296 |
|
for(c = stack; c; c = c->snext) |
| 1295 |
|
- |
if(!c->isfloating && isvisible(c)) { |
|
1297 |
+ |
if(!c->isfloating && isvisible(c, NULL)) { |
| 1296 |
1298 |
|
XConfigureWindow(dpy, c->win, CWSibling|CWStackMode, &wc); |
| 1297 |
1299 |
|
wc.sibling = c->win; |
| 1298 |
1300 |
|
} |