sanitization of several clunky stuff, removed heretag (rarely of use), simplified pop(), changed shortcuts to always contain MODKEY
authorarg@10ksloc.org
Fri, 21 Jul 2006 07:37:52 +0200
changeset 130 30d1302dbe3b
parent 129 c478383db7c9
child 131 65efe27cbf3d
sanitization of several clunky stuff, removed heretag (rarely of use), simplified pop(), changed shortcuts to always contain MODKEY
client.c
dwm.h
event.c
tag.c
--- a/client.c	Thu Jul 20 19:09:11 2006 +0200
+++ b/client.c	Fri Jul 21 07:37:52 2006 +0200
@@ -476,7 +476,7 @@
 void
 zoom(Arg *arg)
 {
-	Client *c;
+	Client *c, **l;
 
 	if(!sel)
 		return;
@@ -486,6 +486,19 @@
 			sel = c;
 	}
 
-	pop(sel);
+	/* pop */
+	for(l = &clients; *l && *l != sel; l = &(*l)->next);
+	if(sel->prev)
+		sel->prev->next = sel->next;
+	if(sel->next)
+		sel->next->prev = sel->prev;
+	*l = sel->next;
+
+	sel->prev = NULL;
+	if(clients)
+		clients->prev = sel;
+	sel->next = clients;
+	clients = sel;
+	arrange(NULL);
 	focus(sel);
 }
--- a/dwm.h	Thu Jul 20 19:09:11 2006 +0200
+++ b/dwm.h	Fri Jul 21 07:37:52 2006 +0200
@@ -7,21 +7,21 @@
 
 /* CUSTOMIZE */
 
-#define FONT				"-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*"
-#define BGCOLOR				"#0a2c2d"
-#define FGCOLOR				"#ddeeee"
-#define BORDERCOLOR			"#176164"
-#define MODKEY				 Mod1Mask /* Mod4Mask */
+#define FONT			"-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*"
+#define BGCOLOR			"#0a2c2d"
+#define FGCOLOR			"#ddeeee"
+#define BORDERCOLOR		"#176164"
+#define MODKEY			Mod1Mask /* Mod4Mask */
 /*
-#define BGCOLOR				"#666699"
-#define FGCOLOR				"#eeeeee"
-#define BORDERCOLOR			"#9999CC"
+#define BGCOLOR			"#666699"
+#define FGCOLOR			"#eeeeee"
+#define BORDERCOLOR		"#9999CC"
 */
-#define MASTERW				52 /* percent */
+#define MASTERW			52 /* percent */
 #define WM_PROTOCOL_DELWIN	1
 
 /* tags */
-enum { Tscratch, Tdev, Twww, Twork, TLast };
+enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast };
 
 /* END CUSTOMIZE */
 
@@ -105,7 +105,6 @@
 extern void killclient(Arg *arg);
 extern void lower(Client *c);
 extern void manage(Window w, XWindowAttributes *wa);
-extern void pop(Client *c);
 extern void resize(Client *c, Bool sizehints, Corner sticky);
 extern void setsize(Client *c);
 extern void settitle(Client *c);
@@ -136,7 +135,6 @@
 extern void dotile(Arg *arg);
 extern Client *getnext(Client *c, unsigned int t);
 extern Client *getprev(Client *c);
-extern void heretag(Arg *arg);
 extern void replacetag(Arg *arg);
 extern void settags(Client *c);
 extern void togglemode(Arg *arg);
--- a/event.c	Thu Jul 20 19:09:11 2006 +0200
+++ b/event.c	Fri Jul 21 07:37:52 2006 +0200
@@ -30,27 +30,26 @@
 
 static Key key[] = {
 	/* modifier		key		function	arguments */
-	{ ControlMask,		XK_0,		appendtag,	{ .i = Tscratch } }, 
-	{ ControlMask,		XK_1,		appendtag,	{ .i = Tdev } }, 
-	{ ControlMask,		XK_2,		appendtag,	{ .i = Twww } }, 
-	{ ControlMask,		XK_3,		appendtag,	{ .i = Twork } }, 
-	{ MODKEY,		XK_0,		view,		{ .i = Tscratch } }, 
+	{ MODKEY,		XK_0,		view,		{ .i = Tfnord } }, 
 	{ MODKEY,		XK_1,		view,		{ .i = Tdev } }, 
-	{ MODKEY,		XK_2,		view,		{ .i = Twww } }, 
+	{ MODKEY,		XK_2,		view,		{ .i = Tnet } }, 
 	{ MODKEY,		XK_3,		view,		{ .i = Twork } }, 
+	{ MODKEY,		XK_4,		view,		{ .i = Tmisc} }, 
 	{ MODKEY,		XK_j,		focusnext,	{ 0 } }, 
 	{ MODKEY,		XK_k,		focusprev,	{ 0 } },
 	{ MODKEY,		XK_m,		togglemax,	{ 0 } }, 
 	{ MODKEY,		XK_space,	togglemode,	{ 0 } }, 
 	{ MODKEY,		XK_Return,	zoom,		{ 0 } },
-	{ ControlMask|ShiftMask,XK_0,		heretag,	{ .i = Tscratch } }, 
-	{ ControlMask|ShiftMask,XK_1,		heretag,	{ .i = Tdev } }, 
-	{ ControlMask|ShiftMask,XK_2,		heretag,	{ .i = Twww } }, 
-	{ ControlMask|ShiftMask,XK_3,		heretag,	{ .i = Twork } }, 
-	{ MODKEY|ShiftMask,	XK_0,		replacetag,	{ .i = Tscratch } }, 
+	{ MODKEY|ControlMask,	XK_0,		appendtag,	{ .i = Tfnord } }, 
+	{ MODKEY|ControlMask,	XK_1,		appendtag,	{ .i = Tdev } }, 
+	{ MODKEY|ControlMask,	XK_2,		appendtag,	{ .i = Tnet } }, 
+	{ MODKEY|ControlMask,	XK_3,		appendtag,	{ .i = Twork } }, 
+	{ MODKEY|ControlMask,	XK_4,		appendtag,	{ .i = Tmisc } }, 
+	{ MODKEY|ShiftMask,	XK_0,		replacetag,	{ .i = Tfnord } }, 
 	{ MODKEY|ShiftMask,	XK_1,		replacetag,	{ .i = Tdev } }, 
-	{ MODKEY|ShiftMask,	XK_2,		replacetag,	{ .i = Twww } }, 
+	{ MODKEY|ShiftMask,	XK_2,		replacetag,	{ .i = Tnet } }, 
 	{ MODKEY|ShiftMask,	XK_3,		replacetag,	{ .i = Twork } }, 
+	{ MODKEY|ShiftMask,	XK_4,		replacetag,	{ .i = Tmisc } }, 
 	{ MODKEY|ShiftMask,	XK_c,		killclient,	{ 0 } }, 
 	{ MODKEY|ShiftMask,	XK_g,		spawn,		{ .argv = gimp } },
 	{ MODKEY|ShiftMask,	XK_l,		spawn,		{ .argv = xlock } },
--- a/tag.c	Thu Jul 20 19:09:11 2006 +0200
+++ b/tag.c	Fri Jul 21 07:37:52 2006 +0200
@@ -21,15 +21,16 @@
 /* CUSTOMIZE */ 
 static Rule rule[] = {
 	/* class:instance	tags				isfloat */
-	{ "Firefox.*",		{ [Twww] = "www" },		False },
+	{ "Firefox.*",		{ [Tnet] = "net" },		False },
 	{ "Gimp.*",		{ 0 },				True},
 };
 
 char *tags[TLast] = {
-	[Tscratch] = "scratch",
+	[Tfnord] = "fnord",
 	[Tdev] = "dev",
-	[Twww] = "www",
+	[Tnet] = "net",
 	[Twork] = "work",
+	[Tmisc] = "misc",
 };
 
 void (*arrange)(Arg *) = dotile;
@@ -148,25 +149,6 @@
 }
 
 void
-heretag(Arg *arg)
-{
-	int i;
-	Client *c;
-
-	if(arg->i == tsel)
-		return;
-
-	if(!(c = getnext(clients, arg->i)))
-		return;
-
-	for(i = 0; i < TLast; i++)
-		c->tags[i] = NULL;
-	c->tags[tsel] = tags[tsel];
-	pop(c);
-	focus(c);
-}
-
-void
 replacetag(Arg *arg)
 {
 	int i;