Commit 223f5548 authored by Mike Gabriel's avatar Mike Gabriel

Wine Close Delay (108_nxagent_wine-close-delay.full.patch).

Wine close delay. Originally contributed by FreeNX team (dimbor).
parent 658d07e9
Description: Wine Close Delay
Wine close delay.
.
Originally contributed by FreeNX Team (dimbor).
Forwarded: not-yet
Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Last-Update: 2011-12-31
--- a/nx-X11/programs/Xserver/hw/nxagent/Window.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Window.c
@@ -176,6 +176,14 @@
static int nxagentForceExposure(WindowPtr pWin, pointer ptr);
+/* by dimbor */
+typedef struct
+{
+ CARD32 state;
+ Window icon;
+}
+nxagentWMStateRec;
+
/*
* This is currently unused.
*/
@@ -1861,6 +1869,17 @@
nxagentAddConfiguredWindow(pWin, CWStackingOrder);
nxagentAddConfiguredWindow(pWin, CW_Shape);
+ /* add by dimbor */
+ if (nxagentOption(Rootless) && nxagentWindowTopLevel(pWin))
+ {
+ Atom prop = MakeAtom("WM_STATE", strlen("WM_STATE"), True);
+ nxagentWMStateRec wmState;
+ wmState.state = 1; /* NormalState */
+ wmState.icon = None;
+ if (ChangeWindowProperty(pWin, prop, prop, 32, 0, 2, &wmState, 1) != Success)
+ fprintf(stderr, "nxagentRealizeWindow: Additing WM_STATE fail.\n");
+ }
+
#ifdef SHAPE
/*
@@ -1907,6 +1926,17 @@
return True;
}
+ /* add by dimbor */
+ if (nxagentOption(Rootless) && nxagentWindowTopLevel(pWin))
+ {
+ Atom prop = MakeAtom("WM_STATE", strlen("WM_STATE"), True);
+ nxagentWMStateRec wmState;
+ wmState.state = 3; /* WithdrawnState */
+ wmState.icon = None;
+ if (ChangeWindowProperty(pWin, prop, prop, 32, 0, 2, &wmState, 1) != Success)
+ fprintf(stderr, "nxagentUnRealizeWindow: Changing WM_STATE failed.\n");
+ }
+
XUnmapWindow(nxagentDisplay, nxagentWindow(pWin));
return True;
108_nxagent_wine-close-delay.full.patch
110_nxagent_createpixmap-bounds-check.full.patch 110_nxagent_createpixmap-bounds-check.full.patch
200_nxagent_check-binary-x2go-flavour.full.patch 200_nxagent_check-binary-x2go-flavour.full.patch
201_nxagent_set-x2go-icon-if-x2goagent-flavour.full.patch 201_nxagent_set-x2go-icon-if-x2goagent-flavour.full.patch
......
...@@ -176,6 +176,14 @@ static void nxagentReconfigureWindow(pointer, XID, pointer); ...@@ -176,6 +176,14 @@ static void nxagentReconfigureWindow(pointer, XID, pointer);
static int nxagentForceExposure(WindowPtr pWin, pointer ptr); static int nxagentForceExposure(WindowPtr pWin, pointer ptr);
/* by dimbor */
typedef struct
{
CARD32 state;
Window icon;
}
nxagentWMStateRec;
/* /*
* This is currently unused. * This is currently unused.
*/ */
...@@ -1861,6 +1869,17 @@ Bool nxagentRealizeWindow(WindowPtr pWin) ...@@ -1861,6 +1869,17 @@ Bool nxagentRealizeWindow(WindowPtr pWin)
nxagentAddConfiguredWindow(pWin, CWStackingOrder); nxagentAddConfiguredWindow(pWin, CWStackingOrder);
nxagentAddConfiguredWindow(pWin, CW_Shape); nxagentAddConfiguredWindow(pWin, CW_Shape);
/* add by dimbor */
if (nxagentOption(Rootless) && nxagentWindowTopLevel(pWin))
{
Atom prop = MakeAtom("WM_STATE", strlen("WM_STATE"), True);
nxagentWMStateRec wmState;
wmState.state = 1; /* NormalState */
wmState.icon = None;
if (ChangeWindowProperty(pWin, prop, prop, 32, 0, 2, &wmState, 1) != Success)
fprintf(stderr, "nxagentRealizeWindow: Adding WM_STATE fail.\n");
}
#ifdef SHAPE #ifdef SHAPE
/* /*
...@@ -1907,6 +1926,17 @@ Bool nxagentUnrealizeWindow(pWin) ...@@ -1907,6 +1926,17 @@ Bool nxagentUnrealizeWindow(pWin)
return True; return True;
} }
/* add by dimbor */
if (nxagentOption(Rootless) && nxagentWindowTopLevel(pWin))
{
Atom prop = MakeAtom("WM_STATE", strlen("WM_STATE"), True);
nxagentWMStateRec wmState;
wmState.state = 3; /* WithdrawnState */
wmState.icon = None;
if (ChangeWindowProperty(pWin, prop, prop, 32, 0, 2, &wmState, 1) != Success)
fprintf(stderr, "nxagentUnRealizeWindow: Changing WM_STATE failed.\n");
}
XUnmapWindow(nxagentDisplay, nxagentWindow(pWin)); XUnmapWindow(nxagentDisplay, nxagentWindow(pWin));
return True; return True;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment