aboutsummaryrefslogtreecommitdiff
path: root/layout.c
diff options
context:
space:
mode:
authorAnselm R. Garbe2007-02-22 17:51:34 +0100
committerAnselm R. Garbe2007-02-22 17:51:34 +0100
commit5a13632afb970ce78957f9f80c9d3a4e4b55d5d1 (patch)
treeba33b0d7b6cc3ec49b8d269c8fd64537e207c974 /layout.c
parent587100873a66e34251041678504a8c1e28410591 (diff)
simplified focusclient()
Diffstat (limited to 'layout.c')
-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);