about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--layout.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/layout.c b/layout.c
index bb477d6..8756e00 100644
--- a/layout.c
+++ b/layout.c
@@ -75,21 +75,17 @@ focusclient(const char *arg) {
    
 	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:
+	if(atoi(arg) < 0) {
 		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;
+	}
+	else {
+		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);