From 51864faa7356c0dc3bf6b7eed8a904f2023d2b8d Mon Sep 17 00:00:00 2001 From: okan Date: Tue, 19 Dec 2017 14:30:53 +0000 Subject: 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. --- client.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'client.c') 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 @@ -265,6 +265,20 @@ client_toggle_hidden(struct client_ctx *cc) xu_ewmh_set_net_wm_state(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) { @@ -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; -- cgit v1.2.3-2-gb3c3