layout.c
changeset 956 484245788760
parent 949 99ee5c370f94
child 958 8b502be8b8e0
--- a/layout.c	Thu Aug 16 08:05:30 2007 +0200
+++ b/layout.c	Thu Aug 16 17:55:55 2007 +0200
@@ -42,22 +42,30 @@
 }
 
 void
-focusclient(const char *arg) {
+focusnext(const char *arg) {
 	Client *c;
-   
-	if(!sel || !arg)
+
+	if(!sel)
 		return;
-	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);
-		}
+	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();
 	}
-	else {
-		for(c = sel->next; c && !isvisible(c); c = c->next);
-		if(!c)
-			for(c = clients; c && !isvisible(c); c = c->next);
+}
+
+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(c) {
 		focus(c);