all repos — dwm @ 19da197f58bc005ad379d751f28f0a17cea3d3b8

my dwm build

changed replacetag into toggletag
Anselm R.Garbe arg@10ksloc.org
Mon, 14 Aug 2006 16:59:18 +0200
commit

19da197f58bc005ad379d751f28f0a17cea3d3b8

parent

666fae97e67810089ffbddd019d655bc4f9f7838

4 files changed, 55 insertions(+), 48 deletions(-)

jump to
M config.arg.hconfig.arg.h

@@ -33,17 +33,17 @@ { MODKEY, XK_Return, zoom, { 0 } }, \

{ 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 \
M config.default.hconfig.default.h

@@ -34,19 +34,19 @@ { MODKEY|ControlMask, XK_1, toggleview, { .i = 1 } }, \

{ 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 \
M dwm.hdwm.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 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);
M tag.ctag.c

@@ -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 @@ 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() { static unsigned int nwins = 0;

@@ -281,6 +258,20 @@ 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) { arrange = arrange == dofloat ? dotile : dofloat;

@@ -288,15 +279,20 @@ arrange(NULL);

} 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)

@@ -304,8 +300,19 @@ {

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); +}