aboutsummaryrefslogtreecommitdiffstats
path: root/client.c
diff options
context:
space:
mode:
authorokan2017-12-19 14:30:53 +0000
committerokan2017-12-19 14:30:53 +0000
commit51864faa7356c0dc3bf6b7eed8a904f2023d2b8d (patch)
tree74f47a63bc3daa1258f881f1c8721b5656af7d5f /client.c
parent27ae8bb8e754cc296f0bec61934f1a13e6bf32c0 (diff)
downloadcwm-51864faa7356c0dc3bf6b7eed8a904f2023d2b8d.tar.gz
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.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/client.c b/client.c
index a163f4f..5ef3964 100644
--- a/client.c
+++ b/client.c
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $OpenBSD: client.c,v 1.240 2017/05/05 14:14:19 okan Exp $
+ * $OpenBSD: client.c,v 1.241 2017/12/19 14:30:53 okan Exp $
*/
#include <sys/types.h>
@@ -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;