From 46d212297aa6203780d8f5f5528edd09d19a808c Mon Sep 17 00:00:00 2001 From: Martin Duquesnoy Date: Sat, 17 Jul 2010 03:32:47 +0200 Subject: [PATCH] Ewmh: Add _NET_WM_STATE_STICKY management --- src/ewmh.c | 8 ++++++++ src/structs.h | 1 + 2 files changed, 9 insertions(+) diff --git a/src/ewmh.c b/src/ewmh.c index 5547d96..cc8e0d3 100644 --- a/src/ewmh.c +++ b/src/ewmh.c @@ -75,6 +75,7 @@ ewmh_init_hints(void) net_atom[net_wm_icon] = ATOM("_NET_WM_ICON"); net_atom[net_wm_state] = ATOM("_NET_WM_STATE"); net_atom[net_wm_state_fullscreen] = ATOM("_NET_WM_STATE_FULLSCREEN"); + net_atom[net_wm_state_sticky] = ATOM("_NET_WM_STATE_STICKY"); net_atom[net_wm_state_demands_attention] = ATOM("_NET_WM_STATE_DEMANDS_ATTENTION"); net_atom[utf8_string] = ATOM("UTF8_STRING"); @@ -326,6 +327,13 @@ ewmh_manage_net_wm_state(long data_l[], Client *c) client_moveresize(c, c->tmp_geo, False); } } + /* Manage _NET_WM_STATE_STICKY */ + else if(data_l[1] == net_atom[net_wm_state_sticky]) + { + /* == client_ignore_tag */ + c->tag = MAXTAG + 1; + arrange(c->screen, True); + } /* Manage _NET_WM_STATE_DEMANDS_ATTENTION */ else if(data_l[1] == net_atom[net_wm_state_demands_attention]) { diff --git a/src/structs.h b/src/structs.h index 8b11463..900cd51 100644 --- a/src/structs.h +++ b/src/structs.h @@ -123,6 +123,7 @@ enum net_wm_icon, net_wm_state, net_wm_state_fullscreen, + net_wm_state_sticky, net_wm_state_demands_attention, utf8_string, /* WMFS HINTS */