From f067db87aa875f9290ff9328272d053942fe613b Mon Sep 17 00:00:00 2001 From: bakkeby Date: Sun, 2 Aug 2020 12:33:24 +0200 Subject: [PATCH] awesomebar: when hiding a client make the next focused client the next tiled client --- patch/bar_awesomebar.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/patch/bar_awesomebar.c b/patch/bar_awesomebar.c index 446b547..5a3a588 100644 --- a/patch/bar_awesomebar.c +++ b/patch/bar_awesomebar.c @@ -89,6 +89,7 @@ click_awesomebar(Bar *bar, Arg *arg, BarClickArg *a) void hide(Client *c) { + Client *n; if (!c || HIDDEN(c)) return; @@ -108,7 +109,16 @@ hide(Client *c) { XSelectInput(dpy, w, ca.your_event_mask); XUngrabServer(dpy); - focus(c->snext); + if (c->isfloating || !c->mon->lt[c->mon->sellt]->arrange) { + for (n = c->snext; n && (!ISVISIBLE(n) || HIDDEN(n)); n = n->snext); + if (!n) + for (n = c->mon->stack; n && (!ISVISIBLE(n) || HIDDEN(n)); n = n->snext); + } else { + n = nexttiled(c); + if (!n) + n = nexttiled(c->mon->clients); + } + focus(n); arrange(c->mon); }