summary refs log tree commit diff
path: root/group.c
diff options
context:
space:
mode:
authorokan <okan>2015-08-23 17:31:20 +0000
committerokan <okan>2015-08-23 17:31:20 +0000
commitb224945446083ec061cea8ae41ee98190f7a4185 (patch)
tree9e36ec38d5f24cb0a0fb97471f85290445adf3fe /group.c
parentae9306748b36c5264ac95a9b50ffbbde94911b48 (diff)
downloadcwm-b224945446083ec061cea8ae41ee98190f7a4185.tar.gz
cwm-b224945446083ec061cea8ae41ee98190f7a4185.tar.xz
cwm-b224945446083ec061cea8ae41ee98190f7a4185.zip
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.
Diffstat (limited to 'group.c')
-rw-r--r--group.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/group.c b/group.c
index bbcd6cf..c2d4b36 100644
--- a/group.c
+++ b/group.c
@@ -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);