[hackers] [dwm] merged focus{prev.next} into focusclient(1/-1)

From: Anselm R. Garbe <arg_AT_suckless.org>
Date: Thu Feb 22 15:29:59 2007

changeset: 829:f1ec35606dbc
tag: tip
user: Anselm R. Garbe <arg_AT_suckless.org>
date: Thu Feb 22 15:25:19 2007 +0100
summary: merged focus{prev.next} into focusclient(1/-1)

diff -r 4cb4940d8355 -r f1ec35606dbc config.arg.h
--- a/config.arg.h Thu Feb 22 15:06:56 2007 +0100
+++ b/config.arg.h Thu Feb 22 15:25:19 2007 +0100
@@ -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 }, \
diff -r 4cb4940d8355 -r f1ec35606dbc config.default.h
--- a/config.default.h Thu Feb 22 15:06:56 2007 +0100
+++ b/config.default.h Thu Feb 22 15:25:19 2007 +0100
@@ -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 }, \
diff -r 4cb4940d8355 -r f1ec35606dbc dwm.h
--- a/dwm.h Thu Feb 22 15:06:56 2007 +0100
+++ b/dwm.h Thu Feb 22 15:25:19 2007 +0100
@@ -119,8 +119,7 @@ extern void grabkeys(void); /* grab al
 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 */
diff -r 4cb4940d8355 -r f1ec35606dbc layout.c
--- a/layout.c Thu Feb 22 15:06:56 2007 +0100
+++ b/layout.c Thu Feb 22 15:25:19 2007 +0100
@@ -70,30 +70,26 @@ LAYOUTS
 /* extern */
 
 void
-focusnext(const char *arg) {
+focusclient(const char *arg) {
         Client *c;
    
- if(!sel)
- 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)
- 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);
+ if(!sel || !arg)
+ return;
+ switch(atoi(arg)) {
+ default:
+ return;
+ 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);
Received on Thu Feb 22 2007 - 15:29:59 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 15:55:43 UTC