Mercurial > dwm-meillo
comparison view.c @ 446:a2e587651c79
using a global stack for focus recovery on arrange() - seems to work great
author | Anselm R. Garbe <arg@10kloc.org> |
---|---|
date | Thu, 07 Sep 2006 17:53:40 +0200 |
parents | 548084f8d92e |
children | 728c9089b079 |
comparison
equal
deleted
inserted
replaced
445:00584fe34361 | 446:a2e587651c79 |
---|---|
74 resize(c, True, TopLeft); | 74 resize(c, True, TopLeft); |
75 } | 75 } |
76 else | 76 else |
77 ban(c); | 77 ban(c); |
78 } | 78 } |
79 if(!sel || !isvisible(sel)) | 79 if(!sel || !isvisible(sel)) { |
80 focus(getnext(clients)); | 80 for(sel = stack; sel && !isvisible(sel); sel = sel->snext); |
81 focus(sel); | |
82 } | |
81 restack(); | 83 restack(); |
82 } | 84 } |
83 | 85 |
84 void | 86 void |
85 dotile(Arg *arg) | 87 dotile(Arg *arg) |
136 i++; | 138 i++; |
137 } | 139 } |
138 else | 140 else |
139 ban(c); | 141 ban(c); |
140 } | 142 } |
141 if(!sel || !isvisible(sel)) | 143 if(!sel || !isvisible(sel)) { |
142 focus(getnext(clients)); | 144 for(sel = stack; sel && !isvisible(sel); sel = sel->snext); |
145 focus(sel); | |
146 } | |
143 restack(); | 147 restack(); |
144 } | 148 } |
145 | 149 |
146 void | 150 void |
147 focusnext(Arg *arg) | 151 focusnext(Arg *arg) |
225 } | 229 } |
226 if(sel->isfloat || arrange == dofloat) { | 230 if(sel->isfloat || arrange == dofloat) { |
227 XRaiseWindow(dpy, sel->win); | 231 XRaiseWindow(dpy, sel->win); |
228 XRaiseWindow(dpy, sel->twin); | 232 XRaiseWindow(dpy, sel->twin); |
229 } | 233 } |
230 if(arrange != dofloat) | 234 if(arrange != dofloat) |
231 for(c = nexttiled(clients); c; c = nexttiled(c->next)) { | 235 for(c = nexttiled(clients); c; c = nexttiled(c->next)) { |
232 XLowerWindow(dpy, c->twin); | 236 XLowerWindow(dpy, c->twin); |
233 XLowerWindow(dpy, c->win); | 237 XLowerWindow(dpy, c->win); |
234 } | 238 } |
235 drawall(); | 239 drawall(); |