diff options
| author | Anselm R.Garbe <arg@10ksloc.org> | 2006-08-14 16:59:18 +0200 | 
|---|---|---|
| committer | Anselm R.Garbe <arg@10ksloc.org> | 2006-08-14 16:59:18 +0200 | 
| commit | 19da197f58bc005ad379d751f28f0a17cea3d3b8 (patch) | |
| tree | 0b204bd49a35c7148107ef091ab26b1aeef1abde | |
| parent | 666fae97e67810089ffbddd019d655bc4f9f7838 (diff) | |
| download | dwm-19da197f58bc005ad379d751f28f0a17cea3d3b8.tar.gz | |
changed replacetag into toggletag
| -rw-r--r-- | config.arg.h | 12 | ||||
| -rw-r--r-- | config.default.h | 20 | ||||
| -rw-r--r-- | dwm.h | 6 | ||||
| -rw-r--r-- | tag.c | 65 | 
4 files changed, 55 insertions, 48 deletions
| diff --git a/config.arg.h b/config.arg.h index 17215fb..a2257cf 100644 --- a/config.arg.h +++ b/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 \ diff --git a/config.default.h b/config.default.h index 6a6fb4d..a8a2c0e 100644 --- a/config.default.h +++ b/config.default.h @@ -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 \ @@ -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); @@ -35,16 +35,6 @@ void (*arrange)(Arg *) = DEFMODE;  /* extern */  void -appendtag(Arg *arg) -{ -	if(!sel) -		return; - -	sel->tags[arg->i] = True; -	settitle(sel); -} - -void  dofloat(Arg *arg)  {  	Client *c; @@ -183,19 +173,6 @@ isvisible(Client *c)  }  void -replacetag(Arg *arg) -{ -	int i; - -	if(!sel) -		return; - -	for(i = 0; i < ntags; i++) -		sel->tags[i] = False; -	appendtag(arg); -} - -void  restack()  {  	static unsigned int nwins = 0; @@ -281,6 +258,20 @@ settags(Client *c)  }  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)  {  	arrange = arrange == dofloat ? dotile : dofloat; @@ -288,24 +279,40 @@ togglemode(Arg *arg)  }  void -view(Arg *arg) +toggletag(Arg *arg)  {  	unsigned int i; -	for(i = 0; i < ntags; i++) -		seltag[i] = False; -	seltag[arg->i] = True; -	arrange(NULL); +	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; !seltag[i] && i < ntags; 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) +{ +	unsigned int i; + +	for(i = 0; i < ntags; i++) +		seltag[i] = False; +	seltag[arg->i] = True; +	arrange(NULL); +} | 
