does this preserve z order for anthony?
fd00b3a1
2 file(s) · +10 −8
| 99 | 99 | } |
|
| 100 | 100 | } |
|
| 101 | 101 | if(c) { |
|
| 102 | + | if(c->isfloat || arrange == dofloat) { |
|
| 103 | + | detach(c); |
|
| 104 | + | if(clients) |
|
| 105 | + | clients->prev = c; |
|
| 106 | + | c->next = clients; |
|
| 107 | + | clients = c; |
|
| 108 | + | } |
|
| 102 | 109 | grabbuttons(c, True); |
|
| 103 | 110 | drawtitle(c); |
|
| 104 | 111 | XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); |
|
| 243 | 250 | c->isfloat = trans |
|
| 244 | 251 | || (c->maxw && c->minw && |
|
| 245 | 252 | c->maxw == c->minw && c->maxh == c->minh); |
|
| 246 | - | if(c->isfloat) |
|
| 247 | - | c->weight = ntags; |
|
| 248 | 253 | ||
| 249 | 254 | if(clients) |
|
| 250 | 255 | clients->prev = c; |
|
| 110 | 110 | if(!matched) |
|
| 111 | 111 | for(i = 0; i < ntags; i++) |
|
| 112 | 112 | c->tags[i] = seltag[i]; |
|
| 113 | - | if(!c->isfloat) |
|
| 114 | - | for(c->weight = 0; c->weight < ntags && !c->tags[c->weight]; c->weight++); |
|
| 113 | + | for(c->weight = 0; c->weight < ntags && !c->tags[c->weight]; c->weight++); |
|
| 115 | 114 | } |
|
| 116 | 115 | ||
| 117 | 116 | void |
|
| 125 | 124 | for(i = 0; i < ntags; i++) |
|
| 126 | 125 | sel->tags[i] = False; |
|
| 127 | 126 | sel->tags[arg->i] = True; |
|
| 128 | - | if(!sel->isfloat) |
|
| 129 | - | sel->weight = arg->i; |
|
| 127 | + | sel->weight = arg->i; |
|
| 130 | 128 | arrange(NULL); |
|
| 131 | 129 | } |
|
| 132 | 130 | ||
| 142 | 140 | for(i = 0; i < ntags && !sel->tags[i]; i++); |
|
| 143 | 141 | if(i == ntags) |
|
| 144 | 142 | sel->tags[arg->i] = True; |
|
| 145 | - | if(!sel->isfloat) |
|
| 146 | - | sel->weight = (i == ntags) ? arg->i : i; |
|
| 143 | + | sel->weight = (i == ntags) ? arg->i : i; |
|
| 147 | 144 | arrange(NULL); |
|
| 148 | 145 | } |
|