diff options
Diffstat (limited to 'patch/bar_awesomebar.c')
| -rw-r--r-- | patch/bar_awesomebar.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/patch/bar_awesomebar.c b/patch/bar_awesomebar.c index 5a3a588..75155fb 100644 --- a/patch/bar_awesomebar.c +++ b/patch/bar_awesomebar.c @@ -116,7 +116,7 @@ hide(Client *c) { } else { n = nexttiled(c); if (!n) - n = nexttiled(c->mon->clients); + n = prevtiled(c); } focus(n); arrange(c->mon); @@ -149,6 +149,16 @@ togglewin(const Arg *arg) } } +Client * +prevtiled(Client *c) +{ + Client *p, *i; + for (p = NULL, i = c->mon->clients; c && i != c; i = i->next) + if (ISVISIBLE(i) && !HIDDEN(i)) + p = i; + return p; +} + void showhideclient(const Arg *arg) { |
