# HG changeset patch # User arg@10ksloc.org # Date 1153460272 -7200 # Node ID 30d1302dbe3b7d372f75777ee948a91bb4edd7d4 # Parent c478383db7c903bb43065ef44f9667062a0b2cca sanitization of several clunky stuff, removed heretag (rarely of use), simplified pop(), changed shortcuts to always contain MODKEY diff -r c478383db7c9 -r 30d1302dbe3b client.c --- a/client.c Thu Jul 20 19:09:11 2006 +0200 +++ b/client.c Fri Jul 21 07:37:52 2006 +0200 @@ -476,7 +476,7 @@ void zoom(Arg *arg) { - Client *c; + Client *c, **l; if(!sel) return; @@ -486,6 +486,19 @@ 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); } diff -r c478383db7c9 -r 30d1302dbe3b dwm.h --- a/dwm.h Thu Jul 20 19:09:11 2006 +0200 +++ b/dwm.h Fri Jul 21 07:37:52 2006 +0200 @@ -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 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 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); diff -r c478383db7c9 -r 30d1302dbe3b event.c --- a/event.c Thu Jul 20 19:09:11 2006 +0200 +++ b/event.c Fri Jul 21 07:37:52 2006 +0200 @@ -30,27 +30,26 @@ 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 } }, diff -r c478383db7c9 -r 30d1302dbe3b tag.c --- a/tag.c Thu Jul 20 19:09:11 2006 +0200 +++ b/tag.c Fri Jul 21 07:37:52 2006 +0200 @@ -21,15 +21,16 @@ /* 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; @@ -148,25 +149,6 @@ } 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) { int i;