[hackers] [dwm] implemented reapply for re-applying the tagging rules during runtime, Mod-r

From: Anselm R. Garbe <garbeam_AT_gmail.com>
Date: Sat Dec 08 20:12:33 2007

changeset: 1070:dc37f0e022f7
tag: tip
user: Anselm R. Garbe <garbeam_AT_gmail.com>
date: Sat Dec 08 20:11:56 2007 +0100
summary: implemented reapply for re-applying the tagging rules during runtime, Mod-r

diff -r b61ffb85f691 -r dc37f0e022f7 config.def.h
--- a/config.def.h Sat Dec 08 19:59:51 2007 +0100
+++ b/config.def.h Sat Dec 08 20:11:56 2007 +0100
@@ -47,6 +47,7 @@ Key keys[] = {
         { MODKEY, XK_h, setmwfact, "-0.05" },
         { MODKEY, XK_l, setmwfact, "+0.05" },
         { MODKEY, XK_m, togglemax, NULL },
+ { MODKEY, XK_r, reapply, NULL },
         { MODKEY, XK_Return, zoom, NULL },
         { MODKEY, XK_Tab, viewprevtag, NULL },
         { MODKEY|ShiftMask, XK_space, togglefloating, NULL },
diff -r b61ffb85f691 -r dc37f0e022f7 dwm.1
--- a/dwm.1 Sat Dec 08 19:59:51 2007 +0100
+++ b/dwm.1 Sat Dec 08 20:11:56 2007 +0100
@@ -80,6 +80,9 @@ Increases the master area width about 5%
 .B Mod1\-m
 Toggles maximization of current window.
 .TP
+.B Mod1\-r
+Re-applies tagging rules to all windows.
+.TP
 .B Mod1\-Shift\-[1..n]
 Apply
 .RB nth
diff -r b61ffb85f691 -r dc37f0e022f7 dwm.c
--- a/dwm.c Sat Dec 08 19:59:51 2007 +0100
+++ b/dwm.c Sat Dec 08 20:11:56 2007 +0100
@@ -161,6 +161,7 @@ Client *nexttiled(Client *c);
 Client *nexttiled(Client *c);
 void propertynotify(XEvent *e);
 void quit(const char *arg);
+void reapply(const char *arg);
 void resize(Client *c, int x, int y, int w, int h, Bool sizehints);
 void resizemouse(Client *c);
 void restack(void);
@@ -1159,6 +1160,17 @@ quit(const char *arg) {
         readin = running = False;
 }
 
+void
+reapply(const char *arg) {
+ static Bool zerotags[LENGTH(tags)] = { 0 };
+ Client *c;
+
+ for(c = clients; c; c = c->next) {
+ memcpy(c->tags, zerotags, sizeof zerotags);
+ applyrules(c);
+ }
+ arrange();
+}
 
 void
 resize(Client *c, int x, int y, int w, int h, Bool sizehints) {
Received on Sat Dec 08 2007 - 20:12:33 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 15:58:54 UTC