merged focus{prev.next} into focusclient(1/-1)

new_dwm
Anselm R. Garbe 18 years ago
parent 12d5a26fd2
commit 27b0595af7

@ -52,8 +52,8 @@ static Key key[] = { \
{ 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 }, \

@ -48,8 +48,8 @@ static Key key[] = { \
{ 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 }, \

@ -119,8 +119,7 @@ extern unsigned int textw(const char *text); /* return the width of text in px*/
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 */

@ -70,30 +70,26 @@ LAYOUTS
/* 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);

Loading…
Cancel
Save