sanitization of several clunky stuff, removed heretag (rarely of use), simplified pop(), changed shortcuts to always contain MODKEY
This commit is contained in:
		
							parent
							
								
									04eb016e78
								
							
						
					
					
						commit
						cd8d8e1208
					
				
							
								
								
									
										17
									
								
								client.c
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								client.c
									
									
									
									
									
								
							@ -476,7 +476,7 @@ unmanage(Client *c)
 | 
			
		||||
void
 | 
			
		||||
zoom(Arg *arg)
 | 
			
		||||
{
 | 
			
		||||
	Client *c;
 | 
			
		||||
	Client *c, **l;
 | 
			
		||||
 | 
			
		||||
	if(!sel)
 | 
			
		||||
		return;
 | 
			
		||||
@ -486,6 +486,19 @@ zoom(Arg *arg)
 | 
			
		||||
			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);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										22
									
								
								dwm.h
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								dwm.h
									
									
									
									
									
								
							@ -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 higher(Client *c);
 | 
			
		||||
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 dofloat(Arg *arg);
 | 
			
		||||
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);
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										23
									
								
								event.c
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								event.c
									
									
									
									
									
								
							@ -30,27 +30,26 @@ const char *xlock[] = { "xlock", NULL };
 | 
			
		||||
 | 
			
		||||
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 } },
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										26
									
								
								tag.c
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								tag.c
									
									
									
									
									
								
							@ -21,15 +21,16 @@ typedef struct {
 | 
			
		||||
/* 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;
 | 
			
		||||
@ -147,25 +148,6 @@ getprev(Client *c)
 | 
			
		||||
	return c;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user