all repos — dwm @ 27b0595af72060d7cc406639b6c53a854f0a3590

my dwm build

merged focus{prev.next} into focusclient(1/-1)
Anselm R. Garbe arg@suckless.org
Thu, 22 Feb 2007 15:25:19 +0100
commit

27b0595af72060d7cc406639b6c53a854f0a3590

parent

12d5a26fd279cc2370954929dedf88d0ab205a16

4 files changed, 21 insertions(+), 26 deletions(-)

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

@@ -52,8 +52,8 @@ { MODKEY, XK_d, incnmaster, "-1" }, \

{ MODKEY, XK_i, incnmaster, "1" }, \ { MODKEY, XK_h, incmasterw, "-15" }, \ { MODKEY, XK_l, incmasterw, "15" }, \ - { MODKEY, XK_j, focusnext, NULL }, \ - { MODKEY, XK_k, focusprev, NULL }, \ + { MODKEY, XK_j, focusclient, "1" }, \ + { MODKEY, XK_k, focusclient, "-1" }, \ { MODKEY, XK_m, togglemax, NULL }, \ { MODKEY, XK_Return, zoom, NULL }, \ { MODKEY|ShiftMask, XK_space, toggleversatile,NULL }, \
M config.default.hconfig.default.h

@@ -48,8 +48,8 @@ { MODKEY, XK_d, incnmaster, "-1" }, \

{ MODKEY, XK_i, incnmaster, "1" }, \ { MODKEY, XK_g, incmasterw, "15" }, \ { MODKEY, XK_s, incmasterw, "-15" }, \ - { MODKEY, XK_Tab, focusnext, NULL }, \ - { MODKEY|ShiftMask, XK_Tab, focusprev, NULL }, \ + { MODKEY, XK_Tab, focusclient, "1" }, \ + { MODKEY|ShiftMask, XK_Tab, focusclient, "-1" }, \ { MODKEY, XK_m, togglemax, NULL }, \ { MODKEY, XK_Return, zoom, NULL }, \ { MODKEY|ShiftMask, XK_space, toggleversatile,NULL }, \
M dwm.hdwm.h

@@ -119,8 +119,7 @@ /* event.c */

extern void grabkeys(void); /* grab all keys defined in config.h */ /* layout.c */ -extern void focusnext(const char *arg); /* focuses next visible client, arg is ignored */ -extern void focusprev(const char *arg); /* focuses previous visible client, arg is ignored */ +extern void focusclient(const char *arg); /* focuses next(1)/previous(-1) visible client */ extern void incmasterw(const char *arg); /* increments the master width with arg's index value */ extern void incnmaster(const char *arg); /* increments nmaster with arg's index value */ extern void initlayouts(void); /* initialize layout array */
M layout.clayout.c

@@ -70,30 +70,26 @@

/* extern */ void -focusnext(const char *arg) { +focusclient(const char *arg) { Client *c; - if(!sel) + if(!sel || !arg) return; - for(c = sel->next; c && !isvisible(c); c = c->next); - if(!c) - for(c = clients; c && !isvisible(c); c = c->next); - if(c) { - focus(c); - restack(); - } -} - -void -focusprev(const char *arg) { - Client *c; - - if(!sel) + switch(atoi(arg)) { + default: return; - for(c = sel->prev; c && !isvisible(c); c = c->prev); - if(!c) { - for(c = clients; c && c->next; c = c->next); - for(; c && !isvisible(c); c = c->prev); + case 1: + for(c = sel->next; c && !isvisible(c); c = c->next); + if(!c) + for(c = clients; c && !isvisible(c); c = c->next); + break; + case -1: + for(c = sel->prev; c && !isvisible(c); c = c->prev); + if(!c) { + for(c = clients; c && c->next; c = c->next); + for(; c && !isvisible(c); c = c->prev); + } + break; } if(c) { focus(c);