From d0c1e6055f24e279c11d1abe8efb1ff833fe5d03 Mon Sep 17 00:00:00 2001 From: akallabeth Date: Mon, 16 Sep 2024 11:47:33 +0200 Subject: [PATCH] [client,X11] add missing _NET_WM_STATE* atoms --- client/X11/xf_client.c | 12 +++++++++++- client/X11/xfreerdp.h | 11 +++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/client/X11/xf_client.c b/client/X11/xf_client.c index f1c92ade5..efbe9df46 100644 --- a/client/X11/xf_client.c +++ b/client/X11/xf_client.c @@ -1938,11 +1938,21 @@ BOOL xf_setup_x11(xfContext* xfc) Logging_XInternAtom(xfc->log, xfc->display, "_NET_CURRENT_DESKTOP", False); xfc->_NET_WORKAREA = Logging_XInternAtom(xfc->log, xfc->display, "_NET_WORKAREA", False); xfc->_NET_WM_STATE = get_supported_atom(xfc, "_NET_WM_STATE"); - xfc->_NET_WM_STATE_FULLSCREEN = get_supported_atom(xfc, "_NET_WM_STATE_FULLSCREEN"); + xfc->_NET_WM_STATE_MODAL = get_supported_atom(xfc, "_NET_WM_STATE_MODAL"); + xfc->_NET_WM_STATE_STICKY = get_supported_atom(xfc, "_NET_WM_STATE_STICKY"); xfc->_NET_WM_STATE_MAXIMIZED_HORZ = Logging_XInternAtom(xfc->log, xfc->display, "_NET_WM_STATE_MAXIMIZED_HORZ", False); xfc->_NET_WM_STATE_MAXIMIZED_VERT = Logging_XInternAtom(xfc->log, xfc->display, "_NET_WM_STATE_MAXIMIZED_VERT", False); + xfc->_NET_WM_STATE_SHADED = get_supported_atom(xfc, "_NET_WM_STATE_SHADED"); + xfc->_NET_WM_STATE_SKIP_TASKBAR = get_supported_atom(xfc, "_NET_WM_STATE_SKIP_TASKBAR"); + xfc->_NET_WM_STATE_SKIP_PAGER = get_supported_atom(xfc, "_NET_WM_STATE_SKIP_PAGER"); + xfc->_NET_WM_STATE_HIDDEN = get_supported_atom(xfc, "_NET_WM_STATE_HIDDEN"); + xfc->_NET_WM_STATE_FULLSCREEN = get_supported_atom(xfc, "_NET_WM_STATE_FULLSCREEN"); + xfc->_NET_WM_STATE_ABOVE = get_supported_atom(xfc, "_NET_WM_STATE_ABOVE"); + xfc->_NET_WM_STATE_BELOW = get_supported_atom(xfc, "_NET_WM_STATE_BELOW"); + xfc->_NET_WM_STATE_DEMANDS_ATTENTION = + get_supported_atom(xfc, "_NET_WM_STATE_DEMANDS_ATTENTION"); xfc->_NET_WM_FULLSCREEN_MONITORS = get_supported_atom(xfc, "_NET_WM_FULLSCREEN_MONITORS"); xfc->_NET_WM_NAME = Logging_XInternAtom(xfc->log, xfc->display, "_NET_WM_NAME", False); xfc->_NET_WM_PID = Logging_XInternAtom(xfc->log, xfc->display, "_NET_WM_PID", False); diff --git a/client/X11/xfreerdp.h b/client/X11/xfreerdp.h index 182c8d3ba..626b9afa4 100644 --- a/client/X11/xfreerdp.h +++ b/client/X11/xfreerdp.h @@ -230,11 +230,18 @@ struct xf_context Atom _NET_SUPPORTING_WM_CHECK; Atom _NET_WM_STATE; - Atom _NET_WM_STATE_FULLSCREEN; - Atom _NET_WM_STATE_MAXIMIZED_HORZ; + Atom _NET_WM_STATE_MODAL; + Atom _NET_WM_STATE_STICKY; Atom _NET_WM_STATE_MAXIMIZED_VERT; + Atom _NET_WM_STATE_MAXIMIZED_HORZ; + Atom _NET_WM_STATE_SHADED; Atom _NET_WM_STATE_SKIP_TASKBAR; Atom _NET_WM_STATE_SKIP_PAGER; + Atom _NET_WM_STATE_HIDDEN; + Atom _NET_WM_STATE_FULLSCREEN; + Atom _NET_WM_STATE_ABOVE; + Atom _NET_WM_STATE_BELOW; + Atom _NET_WM_STATE_DEMANDS_ATTENTION; Atom _NET_WM_FULLSCREEN_MONITORS;