# HG changeset patch # User Anselm R.Garbe # Date 1155567558 -7200 # Node ID 5f5c56e104deed52ca04338cf61be4f3519001a4 # Parent 134804791d73625dded7c772b9e2fcd106525898 changed replacetag into toggletag diff -r 134804791d73 -r 5f5c56e104de config.arg.h --- a/config.arg.h Mon Aug 14 16:37:55 2006 +0200 +++ b/config.arg.h Mon Aug 14 16:59:18 2006 +0200 @@ -33,17 +33,17 @@ { 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 -r 134804791d73 -r 5f5c56e104de config.default.h --- a/config.default.h Mon Aug 14 16:37:55 2006 +0200 +++ b/config.default.h Mon Aug 14 16:59:18 2006 +0200 @@ -34,19 +34,19 @@ { 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 \ diff -r 134804791d73 -r 5f5c56e104de dwm.h --- a/dwm.h Mon Aug 14 16:37:55 2006 +0200 +++ b/dwm.h Mon Aug 14 16:59:18 2006 +0200 @@ -116,19 +116,19 @@ 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 toggletag(Arg *arg); +extern void toggleview(Arg *arg); extern void view(Arg *arg); -extern void toggleview(Arg *arg); /* util.c */ extern void *emallocz(unsigned int size); diff -r 134804791d73 -r 5f5c56e104de tag.c --- a/tag.c Mon Aug 14 16:37:55 2006 +0200 +++ b/tag.c Mon Aug 14 16:59:18 2006 +0200 @@ -35,16 +35,6 @@ /* 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 @@ } 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 @@ } 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,6 +279,34 @@ } 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) { unsigned int i; @@ -297,15 +316,3 @@ 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); -}