Move CLIENT_STICKY logic from client hide/unhide to group hide/unhide;

rationale being that clients should be able to hide/unhide independently
of group switching.
This commit is contained in:
okan 2015-08-23 17:31:20 +00:00
parent ae9306748b
commit b224945446
2 changed files with 8 additions and 10 deletions

View File

@ -493,9 +493,6 @@ client_ptrsave(struct client_ctx *cc)
void
client_hide(struct client_ctx *cc)
{
if (cc->flags & CLIENT_STICKY)
return;
XUnmapWindow(X_Dpy, cc->win);
cc->flags &= ~CLIENT_ACTIVE;
@ -509,9 +506,6 @@ client_hide(struct client_ctx *cc)
void
client_unhide(struct client_ctx *cc)
{
if (cc->flags & CLIENT_STICKY)
return;
XMapRaised(X_Dpy, cc->win);
cc->flags &= ~CLIENT_HIDDEN;

12
group.c
View File

@ -64,8 +64,10 @@ group_hide(struct group_ctx *gc)
screen_updatestackingorder(gc->sc);
TAILQ_FOREACH(cc, &gc->clientq, group_entry)
client_hide(cc);
TAILQ_FOREACH(cc, &gc->clientq, group_entry) {
if (!(cc->flags & CLIENT_STICKY))
client_hide(cc);
}
}
void
@ -73,8 +75,10 @@ group_show(struct group_ctx *gc)
{
struct client_ctx *cc;
TAILQ_FOREACH(cc, &gc->clientq, group_entry)
client_unhide(cc);
TAILQ_FOREACH(cc, &gc->clientq, group_entry) {
if (!(cc->flags & CLIENT_STICKY))
client_unhide(cc);
}
group_restack(gc);
group_setactive(gc);