Introduce a check to see if a group holds only 'sticky' clients and use

this check to decide if a group is virtually empty.  Rationale: if a
group contains *only* 'sticky' clients, it should be skipped while
cycling through groups.  Apply similar logic to the group menu.

Based on an idea from phessler@, who also tested another version.
This commit is contained in:
okan
2014-09-17 14:31:37 +00:00
parent 4b6dc96398
commit 74f4a1bad9
3 changed files with 16 additions and 3 deletions

View File

@@ -188,7 +188,7 @@ mousefunc_menu_group(struct client_ctx *cc, union arg *arg)
TAILQ_INIT(&menuq);
TAILQ_FOREACH(gc, &sc->groupq, entry) {
if (TAILQ_EMPTY(&gc->clientq))
if (group_holds_only_sticky(gc))
continue;
menuq_add(&menuq, gc,
group_hidden_state(gc) ? "%d: [%s]" : "%d: %s",