changed replacetag into toggletag
This commit is contained in:
		
							
								
								
									
										12
									
								
								config.arg.h
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								config.arg.h
									
									
									
									
									
								
							@@ -33,17 +33,17 @@ static Key key[] = { \
 | 
			
		||||
	{ MODKEY|ControlMask,		XK_1,		toggleview,	{ .i = 0 } }, \
 | 
			
		||||
	{ MODKEY|ControlMask,		XK_2,		toggleview,	{ .i = 1 } }, \
 | 
			
		||||
	{ MODKEY|ControlMask,		XK_3,		toggleview,	{ .i = 2 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_1,		replacetag,	{ .i = 0 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_2,		replacetag,	{ .i = 1 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_3,		replacetag,	{ .i = 2 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_1,		tag,		{ .i = 0 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_2,		tag,		{ .i = 1 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_3,		tag,		{ .i = 2 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_c,		killclient,	{ 0 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_q,		quit,		{ 0 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_Return,	spawn, \
 | 
			
		||||
		{ .cmd = "exec urxvt +sb -tr -bg black -fg '#eeeeee' -cr '#eeeeee' +sb " \
 | 
			
		||||
			"-fn '-*-terminus-medium-*-*-*-12-*-*-*-*-*-iso10646-*'" } }, \
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_1,		appendtag,	{ .i = 0 } }, \
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_2,		appendtag,	{ .i = 1 } }, \
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_3,		appendtag,	{ .i = 2 } }, \
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_1,		toggletag,	{ .i = 0 } }, \
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_2,		toggletag,	{ .i = 1 } }, \
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_3,		toggletag,	{ .i = 2 } }, \
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define RULES \
 | 
			
		||||
 
 | 
			
		||||
@@ -34,19 +34,19 @@ static Key key[] = { \
 | 
			
		||||
	{ MODKEY|ControlMask,		XK_2,		toggleview,	{ .i = 2 } }, \
 | 
			
		||||
	{ MODKEY|ControlMask,		XK_3,		toggleview,	{ .i = 3 } }, \
 | 
			
		||||
	{ MODKEY|ControlMask,		XK_4,		toggleview,	{ .i = 4 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_0,		replacetag,	{ .i = 0 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_1,		replacetag,	{ .i = 1 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_2,		replacetag,	{ .i = 2 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_3,		replacetag,	{ .i = 3 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_4,		replacetag,	{ .i = 4 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_0,		tag,		{ .i = 0 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_1,		tag,		{ .i = 1 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_2,		tag,		{ .i = 2 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_3,		tag,		{ .i = 3 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_4,		tag,		{ .i = 4 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_c,		killclient,	{ 0 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_q,		quit,		{ 0 } }, \
 | 
			
		||||
	{ MODKEY|ShiftMask,		XK_Return,	spawn,		{ .cmd = "exec xterm" } }, \
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_0,		appendtag,	{ .i = 0 } }, \
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_1,		appendtag,	{ .i = 1 } }, \
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_2,		appendtag,	{ .i = 2 } }, \
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_3,		appendtag,	{ .i = 3 } }, \
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_4,		appendtag,	{ .i = 4 } }, \
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_0,		toggletag,	{ .i = 0 } }, \
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_1,		toggletag,	{ .i = 1 } }, \
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_2,		toggletag,	{ .i = 2 } }, \
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_3,		toggletag,	{ .i = 3 } }, \
 | 
			
		||||
	{ MODKEY|ControlMask|ShiftMask,	XK_4,		toggletag,	{ .i = 4 } }, \
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define RULES \
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								dwm.h
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								dwm.h
									
									
									
									
									
								
							@@ -116,19 +116,19 @@ extern void sendevent(Window w, Atom a, long value);
 | 
			
		||||
extern int xerror(Display *dsply, XErrorEvent *ee);
 | 
			
		||||
 | 
			
		||||
/* tag.c */
 | 
			
		||||
extern void appendtag(Arg *arg);
 | 
			
		||||
extern void dofloat(Arg *arg);
 | 
			
		||||
extern void dotile(Arg *arg);
 | 
			
		||||
extern void initrregs();
 | 
			
		||||
extern Bool isvisible(Client *c);
 | 
			
		||||
extern Client *getnext(Client *c);
 | 
			
		||||
extern Client *getprev(Client *c);
 | 
			
		||||
extern void replacetag(Arg *arg);
 | 
			
		||||
extern void restack();
 | 
			
		||||
extern void settags(Client *c);
 | 
			
		||||
extern void tag(Arg *arg);
 | 
			
		||||
extern void togglemode(Arg *arg);
 | 
			
		||||
extern void view(Arg *arg);
 | 
			
		||||
extern void toggletag(Arg *arg);
 | 
			
		||||
extern void toggleview(Arg *arg);
 | 
			
		||||
extern void view(Arg *arg);
 | 
			
		||||
 | 
			
		||||
/* util.c */
 | 
			
		||||
extern void *emallocz(unsigned int size);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										77
									
								
								tag.c
									
									
									
									
									
								
							
							
						
						
									
										77
									
								
								tag.c
									
									
									
									
									
								
							@@ -34,16 +34,6 @@ void (*arrange)(Arg *) = DEFMODE;
 | 
			
		||||
 | 
			
		||||
/* extern */
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
appendtag(Arg *arg)
 | 
			
		||||
{
 | 
			
		||||
	if(!sel)
 | 
			
		||||
		return;
 | 
			
		||||
 | 
			
		||||
	sel->tags[arg->i] = True;
 | 
			
		||||
	settitle(sel);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
dofloat(Arg *arg)
 | 
			
		||||
{
 | 
			
		||||
@@ -182,19 +172,6 @@ isvisible(Client *c)
 | 
			
		||||
	return False;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
replacetag(Arg *arg)
 | 
			
		||||
{
 | 
			
		||||
	int i;
 | 
			
		||||
 | 
			
		||||
	if(!sel)
 | 
			
		||||
		return;
 | 
			
		||||
 | 
			
		||||
	for(i = 0; i < ntags; i++)
 | 
			
		||||
		sel->tags[i] = False;
 | 
			
		||||
	appendtag(arg);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
restack()
 | 
			
		||||
{
 | 
			
		||||
@@ -280,6 +257,20 @@ settags(Client *c)
 | 
			
		||||
			c->tags[i] = seltag[i];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
tag(Arg *arg)
 | 
			
		||||
{
 | 
			
		||||
	unsigned int i;
 | 
			
		||||
 | 
			
		||||
	if(!sel)
 | 
			
		||||
		return;
 | 
			
		||||
 | 
			
		||||
	for(i = 0; i < ntags; i++)
 | 
			
		||||
		sel->tags[i] = False;
 | 
			
		||||
	sel->tags[arg->i] = True;
 | 
			
		||||
	settitle(sel);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
togglemode(Arg *arg)
 | 
			
		||||
{
 | 
			
		||||
@@ -287,6 +278,34 @@ togglemode(Arg *arg)
 | 
			
		||||
	arrange(NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
toggletag(Arg *arg)
 | 
			
		||||
{
 | 
			
		||||
	unsigned int i;
 | 
			
		||||
 | 
			
		||||
	if(!sel)
 | 
			
		||||
		return;
 | 
			
		||||
 | 
			
		||||
	sel->tags[arg->i] = !sel->tags[arg->i];
 | 
			
		||||
	for(i = 0; i < ntags && !sel->tags[i]; i++);
 | 
			
		||||
	if(i == ntags)
 | 
			
		||||
		sel->tags[arg->i] = True;
 | 
			
		||||
	settitle(sel);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
toggleview(Arg *arg)
 | 
			
		||||
{
 | 
			
		||||
	unsigned int i;
 | 
			
		||||
 | 
			
		||||
	seltag[arg->i] = !seltag[arg->i];
 | 
			
		||||
	for(i = 0; i < ntags && !seltag[i]; i++);
 | 
			
		||||
	if(i == ntags)
 | 
			
		||||
		seltag[arg->i] = True; /* cannot toggle last view */
 | 
			
		||||
	arrange(NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
view(Arg *arg)
 | 
			
		||||
{
 | 
			
		||||
@@ -297,15 +316,3 @@ view(Arg *arg)
 | 
			
		||||
	seltag[arg->i] = True;
 | 
			
		||||
	arrange(NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
toggleview(Arg *arg)
 | 
			
		||||
{
 | 
			
		||||
	unsigned int i;
 | 
			
		||||
 | 
			
		||||
	seltag[arg->i] = !seltag[arg->i];
 | 
			
		||||
	for(i = 0; !seltag[i] && i < ntags; i++);
 | 
			
		||||
	if(i == ntags)
 | 
			
		||||
		seltag[arg->i] = True; /* cannot toggle last view */
 | 
			
		||||
	arrange(NULL);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user