Introduction
Introduction Statistics Contact Development Disclaimer Help
timproved selection policy - dwm - [fork] customized build of dwm, the dynamic …
git clone git://src.adamsgaard.dk/dwm
Log
Files
Refs
README
LICENSE
---
commit c3c94c0e0a4da1562b040a17ee670312ad8e65af
parent 9d739090750ffb3b3a64e86e2331215b8901c360
Author: Anselm R. Garbe <[email protected]>
Date: Tue, 29 Aug 2006 15:28:29 +0200
improved selection policy
Diffstat:
M view.c | 44 +++++++++++++++++------------…
1 file changed, 24 insertions(+), 20 deletions(-)
---
diff --git a/view.c b/view.c
t@@ -3,31 +3,39 @@
* See LICENSE file for license details.
*/
#include "dwm.h"
+#include <stdio.h>
/* static */
+static Client *
+minclient()
+{
+ Client *c, *min;
+
+ for(min = c = clients; c; c = c->next)
+ if(c->weight < min->weight)
+ min = c;
+ return min;
+}
+
+
static void
reorder()
{
- Client *c, *orig, *p;
+ Client *c, *newclients, *tail;
- orig = clients;
- clients = NULL;
-
- while((c = orig)) {
- orig = orig->next;
+ newclients = tail = NULL;
+ while((c = minclient())) {
detach(c);
-
- for(p = clients; p && p->next && p->weight <= c->weight; p = p…
- c->prev = p;
- if(p) {
- if((c->next = p->next))
- c->next->prev = c;
- p->next = c;
+ if(tail) {
+ c->prev = tail;
+ tail->next = c;
+ tail = c;
}
else
- clients = c;
+ tail = newclients = c;
}
+ clients = newclients;
}
/* extern */
t@@ -59,9 +67,7 @@ dofloat(Arg *arg)
else
ban(c);
}
- if(!sel || !isvisible(sel))
- sel = getnext(clients);
- if(sel)
+ if((sel = getnext(clients)))
focus(sel);
else
XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
t@@ -124,9 +130,7 @@ dotile(Arg *arg)
else
ban(c);
}
- if(!sel || !isvisible(sel))
- sel = getnext(clients);
- if(sel)
+ if((sel = getnext(clients)))
focus(sel);
else
XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime);
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.