changeset 1103 | 94af6c83cad2 |
parent 1102 | 239f5ee65766 |
child 1104 | 167446962e09 |
1102:239f5ee65766 | 1103:94af6c83cad2 |
---|---|
558 drawbar(View *v) { |
558 drawbar(View *v) { |
559 int i, x; |
559 int i, x; |
560 Client *c; |
560 Client *c; |
561 |
561 |
562 dc.x = 0; |
562 dc.x = 0; |
563 for(c = stack; c && !isvisible(c); c = c->snext); |
563 for(c = stack; c && (!isvisible(c) || getview(c) != v); c = c->snext); |
564 for(i = 0; i < LENGTH(tags); i++) { |
564 for(i = 0; i < LENGTH(tags); i++) { |
565 dc.w = textw(tags[i]); |
565 dc.w = textw(tags[i]); |
566 if(seltags[i]) { |
566 if(seltags[i] && seltags[i] == v->id) { |
567 drawtext(v, tags[i], dc.sel, isurgent(i)); |
567 drawtext(v, tags[i], dc.sel, isurgent(i)); |
568 drawsquare(v, c && c->tags[i], isoccupied(i), isurgent(i), dc.sel); |
568 drawsquare(v, c && c->tags[i], isoccupied(i), isurgent(i), dc.sel); |
569 } |
569 } |
570 else { |
570 else { |
571 drawtext(v, tags[i], dc.norm, isurgent(i)); |
571 drawtext(v, tags[i], dc.norm, isurgent(i)); |
722 else |
722 else |
723 selview = viewat(); |
723 selview = viewat(); |
724 if(selview != v) |
724 if(selview != v) |
725 drawbar(v); |
725 drawbar(v); |
726 if(!c || (c && !isvisible(c))) |
726 if(!c || (c && !isvisible(c))) |
727 for(c = stack; c && !isvisible(c); c = c->snext); |
727 for(c = stack; c && (!isvisible(c) || getview(c) != selview); c = c->snext); |
728 if(sel && sel != c) { |
728 if(sel && sel != c) { |
729 grabbuttons(sel, False); |
729 grabbuttons(sel, False); |
730 XSetWindowBorder(dpy, sel->win, dc.norm[ColBorder]); |
730 XSetWindowBorder(dpy, sel->win, dc.norm[ColBorder]); |
731 } |
731 } |
732 if(c) { |
732 if(c) { |
1154 unsigned int mask; |
1154 unsigned int mask; |
1155 |
1155 |
1156 XQueryPointer(dpy, root, &win, &win, &x, &y, &i, &i, &mask); |
1156 XQueryPointer(dpy, root, &win, &win, &x, &y, &i, &i, &mask); |
1157 for(i = 0; i < nviews; i++) { |
1157 for(i = 0; i < nviews; i++) { |
1158 if((x >= views[i].x && x < views[i].x + views[i].w) |
1158 if((x >= views[i].x && x < views[i].x + views[i].w) |
1159 && (y >= views[i].y && y < views[i].y + views[i].h)) { |
1159 && (y >= views[i].y && y < views[i].y + views[i].h)) |
1160 return &views[i]; |
1160 return &views[i]; |
1161 } |
|
1162 } |
1161 } |
1163 return NULL; |
1162 return NULL; |
1164 } |
1163 } |
1165 |
1164 |
1166 void |
1165 void |
1759 if(i + 1 == n) /* remainder */ |
1758 if(i + 1 == n) /* remainder */ |
1760 nh = (v->way + v->wah) - ny - 2 * c->border; |
1759 nh = (v->way + v->wah) - ny - 2 * c->border; |
1761 else |
1760 else |
1762 nh = th - 2 * c->border; |
1761 nh = th - 2 * c->border; |
1763 } |
1762 } |
1764 fprintf(stderr, "tile %d %d %d %d\n", nx, ny, nw, nh); |
|
1765 resize(c, nx, ny, nw, nh, RESIZEHINTS); |
1763 resize(c, nx, ny, nw, nh, RESIZEHINTS); |
1766 if((RESIZEHINTS) && ((c->h < bh) || (c->h > nh) || (c->w < bh) || (c->w > nw))) |
1764 if((RESIZEHINTS) && ((c->h < bh) || (c->h > nh) || (c->w < bh) || (c->w > nw))) |
1767 /* client doesn't accept size constraints */ |
1765 /* client doesn't accept size constraints */ |
1768 resize(c, nx, ny, nw, nh, False); |
1766 resize(c, nx, ny, nw, nh, False); |
1769 if(n > 1 && th != v->wah) |
1767 if(n > 1 && th != v->wah) |