summary refs log tree commit diff
path: root/client.c
diff options
context:
space:
mode:
authorokan <okan>2017-12-19 14:30:53 +0000
committerokan <okan>2017-12-19 14:30:53 +0000
commitbc5215f41a5a8084b2496b7a3477a4cdac7b4695 (patch)
treec6e70df15afddaea1c9ae38fc3ff12a79cfdbc75 /client.c
parent5e5d06f06354f5d90aa11beaace16fa5e6e34cce (diff)
downloadcwm-bc5215f41a5a8084b2496b7a3477a4cdac7b4695.tar.gz
cwm-bc5215f41a5a8084b2496b7a3477a4cdac7b4695.tar.xz
cwm-bc5215f41a5a8084b2496b7a3477a4cdac7b4695.zip
Add support for _NET_WM_STATE_SKIP_PAGER and _NET_WM_STATE_SKIP_TASKBAR; eerily
close to cwm's 'ignore'.

Roughly based on an initial diff from Walter Alejandro Iglesias, but with
support for both Atoms and without cwm-based bindings.
Diffstat (limited to 'client.c')
-rw-r--r--client.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/client.c b/client.c
index e7ab123..9fc80b8 100644
--- a/client.c
+++ b/client.c
@@ -266,6 +266,20 @@ client_toggle_hidden(struct client_ctx *cc)
 }
 
 void
+client_toggle_skip_pager(struct client_ctx *cc)
+{
+	cc->flags ^= CLIENT_SKIP_PAGER;
+	xu_ewmh_set_net_wm_state(cc);
+}
+
+void
+client_toggle_skip_taskbar(struct client_ctx *cc)
+{
+	cc->flags ^= CLIENT_SKIP_TASKBAR;
+	xu_ewmh_set_net_wm_state(cc);
+}
+
+void
 client_toggle_sticky(struct client_ctx *cc)
 {
 	cc->flags ^= CLIENT_STICKY;
@@ -688,7 +702,7 @@ client_cycle(struct screen_ctx *sc, int flags)
 		    client_next(newcc);
 
 		/* Only cycle visible and non-ignored windows. */
-		if ((newcc->flags & (CLIENT_HIDDEN | CLIENT_IGNORE))
+		if ((newcc->flags & (CLIENT_SKIP_CYCLE))
 		    || ((flags & CWM_CYCLE_INGROUP) &&
 			(newcc->gc != oldcc->gc)))
 			again = 1;