aboutsummaryrefslogtreecommitdiffstats
path: root/group.c
diff options
context:
space:
mode:
authorokan2015-08-23 17:31:20 +0000
committerokan2015-08-23 17:31:20 +0000
commit0ebf02fd02c5c75c200a0cdb32a7de78ed86a58f (patch)
treef4d0f8d53ebb202f9a4a9b833c03ae714534c83c /group.c
parent41f134c21bb512cfc7f33d2147ff9e60dc3de247 (diff)
downloadcwm-0ebf02fd02c5c75c200a0cdb32a7de78ed86a58f.tar.gz
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.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/group.c b/group.c
index dbaf982..3532c8a 100644
--- a/group.c
+++ b/group.c
@@ -16,7 +16,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $OpenBSD: group.c,v 1.113 2015/08/21 15:52:49 okan Exp $
+ * $OpenBSD: group.c,v 1.114 2015/08/23 17:31:20 okan Exp $
*/
#include <sys/types.h>
@@ -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);