summaryrefslogtreecommitdiff
path: root/app/cwm/xutil.c
diff options
context:
space:
mode:
Diffstat (limited to 'app/cwm/xutil.c')
-rw-r--r--app/cwm/xutil.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/app/cwm/xutil.c b/app/cwm/xutil.c
index 31436f946..8bbdace6e 100644
--- a/app/cwm/xutil.c
+++ b/app/cwm/xutil.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: xutil.c,v 1.108 2016/10/05 13:10:59 okan Exp $
+ * $OpenBSD: xutil.c,v 1.109 2017/12/19 14:30:53 okan Exp $
*/
#include <sys/types.h>
@@ -368,6 +368,12 @@ xu_ewmh_handle_net_wm_state_msg(struct client_ctx *cc, int action,
{ _NET_WM_STATE_DEMANDS_ATTENTION,
CLIENT_URGENCY,
client_urgency },
+ { _NET_WM_STATE_SKIP_PAGER,
+ CLIENT_SKIP_PAGER,
+ client_toggle_skip_pager},
+ { _NET_WM_STATE_SKIP_TASKBAR,
+ CLIENT_SKIP_TASKBAR,
+ client_toggle_skip_taskbar},
{ _CWM_WM_STATE_FREEZE,
CLIENT_FREEZE,
client_toggle_freeze },
@@ -412,6 +418,10 @@ xu_ewmh_restore_net_wm_state(struct client_ctx *cc)
client_toggle_fullscreen(cc);
if (atoms[i] == ewmh[_NET_WM_STATE_DEMANDS_ATTENTION])
client_urgency(cc);
+ if (atoms[i] == ewmh[_NET_WM_STATE_SKIP_PAGER])
+ client_toggle_skip_pager(cc);
+ if (atoms[i] == ewmh[_NET_WM_STATE_SKIP_TASKBAR])
+ client_toggle_skip_taskbar(cc);
if (atoms[i] == ewmh[_CWM_WM_STATE_FREEZE])
client_toggle_freeze(cc);
}
@@ -433,6 +443,8 @@ xu_ewmh_set_net_wm_state(struct client_ctx *cc)
oatoms[i] != ewmh[_NET_WM_STATE_HIDDEN] &&
oatoms[i] != ewmh[_NET_WM_STATE_FULLSCREEN] &&
oatoms[i] != ewmh[_NET_WM_STATE_DEMANDS_ATTENTION] &&
+ oatoms[i] != ewmh[_NET_WM_STATE_SKIP_PAGER] &&
+ oatoms[i] != ewmh[_NET_WM_STATE_SKIP_TASKBAR] &&
oatoms[i] != ewmh[_CWM_WM_STATE_FREEZE])
atoms[j++] = oatoms[i];
}
@@ -451,6 +463,10 @@ xu_ewmh_set_net_wm_state(struct client_ctx *cc)
}
if (cc->flags & CLIENT_URGENCY)
atoms[j++] = ewmh[_NET_WM_STATE_DEMANDS_ATTENTION];
+ if (cc->flags & CLIENT_SKIP_PAGER)
+ atoms[j++] = ewmh[_NET_WM_STATE_SKIP_PAGER];
+ if (cc->flags & CLIENT_SKIP_TASKBAR)
+ atoms[j++] = ewmh[_NET_WM_STATE_SKIP_TASKBAR];
if (cc->flags & CLIENT_FREEZE)
atoms[j++] = ewmh[_CWM_WM_STATE_FREEZE];
if (j > 0)