Introduction
Introduction Statistics Contact Development Disclaimer Help
tsanders solution is convincing and elegant - dwm - [fork] customized build of …
git clone git://src.adamsgaard.dk/dwm
Log
Files
Refs
README
LICENSE
---
commit 69b738c097d8f471873a227e8668d8a35014be3d
parent da0b2a2f31d5a849464215a86a968ec3a1af2f73
Author: Anselm R. Garbe <[email protected]>
Date: Wed, 6 Sep 2006 11:54:16 +0200
sanders solution is convincing and elegant
Diffstat:
M client.c | 8 --------
M view.c | 50 ++++++-----------------------…
2 files changed, 9 insertions(+), 49 deletions(-)
---
diff --git a/client.c b/client.c
t@@ -99,14 +99,6 @@ focus(Client *c)
}
}
if(c) {
- if((c->isfloat || arrange == dofloat) && (c != clients)) {
- detach(c);
- if(clients) {
- clients->prev = c;
- c->next = clients;
- }
- clients = c;
- }
grabbuttons(c, True);
drawtitle(c);
XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime);
diff --git a/view.c b/view.c
t@@ -215,52 +215,20 @@ resizecol(Arg *arg)
void
restack()
{
- static unsigned int nwins = 0;
- static Window *wins = NULL;
- unsigned int f, fi, m, mi, n;
Client *c;
XEvent ev;
-
- for(f = 0, m = 0, c = clients; c; c = c->next)
- if(isvisible(c)) {
- if(c->isfloat || arrange == dofloat)
- f++;
- else
- m++;
- }
- if(!(n = 2 * (f + m))) {
- drawstatus();
+
+ if(!sel)
return;
+ if(sel->isfloat || arrange == dofloat) {
+ XRaiseWindow(dpy, sel->win);
+ XRaiseWindow(dpy, sel->twin);
}
- if(nwins < n) {
- nwins = n;
- wins = erealloc(wins, nwins * sizeof(Window));
- }
-
- fi = 0;
- mi = 2 * f;
- if(sel) {
- if(sel->isfloat || arrange == dofloat) {
- wins[fi++] = sel->twin;
- wins[fi++] = sel->win;
- }
- else {
- wins[mi++] = sel->twin;
- wins[mi++] = sel->win;
- }
- }
- for(c = clients; c; c = c->next)
- if(isvisible(c) && c != sel) {
- if(c->isfloat || arrange == dofloat) {
- wins[fi++] = c->twin;
- wins[fi++] = c->win;
- }
- else {
- wins[mi++] = c->twin;
- wins[mi++] = c->win;
- }
+ if(arrange != dofloat)
+ for(c = nexttiled(clients); c; c = nexttiled(c->next)) {
+ XLowerWindow(dpy, c->twin);
+ XLowerWindow(dpy, c->win);
}
- XRestackWindows(dpy, wins, n);
drawall();
XSync(dpy, False);
while(XCheckMaskEvent(dpy, EnterWindowMask, &ev));
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.