merged focus{prev.next} into focusclient(1/-1)
Anselm R. Garbe arg@suckless.org
Thu, 22 Feb 2007 15:25:19 +0100
4 files changed,
21 insertions(+),
26 deletions(-)
M
config.arg.h
→
config.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.h
→
config.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.h
→
dwm.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.c
→
layout.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);