From 588be6386adf9dd25bb942af9456d6c07eda4676 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Tue, 30 May 2017 21:28:03 +0200 Subject: hw/nxagent/Window.c: Introduce NX_REAL_WINDOW window property. In nxagent sessions, all X11 clients have a representation of their NX session-side window object on the real X-Server side. The window object gets stored in the new NX_REAL_WINDOW window property immediately after window creation. This mapping is created in nxagentCreateWindow(). On session resumption, the client side window IDs normally change. Thus, during session resumption, all NX_REAL_WINDOW properties require being updated. This happens in nxagentReconnectWindow(). While a session is suspended, the NX_REAL_WINDOW property does not exist. It gets removed during nxagentDisconnectWindow(). --- nx-X11/programs/Xserver/hw/nxagent/Args.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'nx-X11/programs/Xserver/hw/nxagent/Args.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Args.c b/nx-X11/programs/Xserver/hw/nxagent/Args.c index 5db7e0110..5d74f212c 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Args.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Args.c @@ -128,6 +128,7 @@ extern const char *__progname; char nxagentDisplayName[1024]; Bool nxagentSynchronize = False; +Bool nxagentRealWindowProp = False; char nxagentShadowDisplayName[1024] = {0}; @@ -404,6 +405,11 @@ int ddxProcessArgument(int argc, char *argv[], int i) return 1; } + if (!strcmp(argv[i], "-nxrealwindowprop")) { + nxagentRealWindowProp = True; + return 1; + } + if (!strcmp(argv[i], "-full")) { nxagentFullGeneration = True; return 1; -- cgit v1.2.3