From 27b0595af72060d7cc406639b6c53a854f0a3590 Mon Sep 17 00:00:00 2001
From: "Anselm R. Garbe" <arg@suckless.org>
Date: Thu, 22 Feb 2007 15:25:19 +0100
Subject: merged focus{prev.next} into focusclient(1/-1)

---
 layout.c | 36 ++++++++++++++++--------------------
 1 file changed, 16 insertions(+), 20 deletions(-)

(limited to 'layout.c')

diff --git a/layout.c b/layout.c
index 5d43187..1e8f113 100644
--- a/layout.c
+++ b/layout.c
@@ -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);
-- 
cgit v1.2.3