+#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, *newclients, *tail;
+
+ newclients = tail = NULL;
+ while((c = minclient())) {
+ detach(c);
+ if(tail) {
+ c->prev = tail;
+ tail->next = c;
+ tail = c;
+ }
+ else
+ tail = newclients = c;
+ }
+ clients = newclients;
+}