summaryrefslogtreecommitdiff
path: root/include/X11/extensions/xfixeswire.h
diff options
context:
space:
mode:
authorOlivier Fourdan <ofourdan@redhat.com>2021-03-09 11:46:05 +0100
committerPeter Hutterer <peter.hutterer@who-t.net>2021-04-29 05:48:29 +0000
commitb6bc35b845163de5ab2bfa9521bdf4d8aef28604 (patch)
tree18c1894e01cad39170ff0cdf2d0fbe7faaec7ffd /include/X11/extensions/xfixeswire.h
parent559141495b89e4964960ea6ba92322d9766883ff (diff)
xfixes: Add ClientDisconnectMode
The Xserver itself is capable of terminating itself once all X11 clients are gone, yet in a typical full session, there are a number of X11 clients running continuously (e.g. the Xsettings daemon, IBus, etc.). Those always-running clients will prevent the Xserver from terminating, because the actual number of X11 clients will never drop to 0. To solve this issue directly at the Xserver level, this add new entries to the XFixes extension to let the X11 clients themselves specify the disconnect mode they expect. Typically, those X11 daemon clients would specify the disconnect mode XFixesClientDisconnectFlagTerminate to let the Xserver know that they should not be accounted for when checking the remaining clients prior to terminate. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Diffstat (limited to 'include/X11/extensions/xfixeswire.h')
-rw-r--r--include/X11/extensions/xfixeswire.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/include/X11/extensions/xfixeswire.h b/include/X11/extensions/xfixeswire.h
index 432349a..f6953e5 100644
--- a/include/X11/extensions/xfixeswire.h
+++ b/include/X11/extensions/xfixeswire.h
@@ -48,7 +48,7 @@
#define _XFIXESWIRE_H_
#define XFIXES_NAME "XFIXES"
-#define XFIXES_MAJOR 5
+#define XFIXES_MAJOR 6
#define XFIXES_MINOR 0
/*************** Version 1 ******************/
@@ -89,8 +89,11 @@
/*************** Version 5 ******************/
#define X_XFixesCreatePointerBarrier 31
#define X_XFixesDestroyPointerBarrier 32
+/*************** Version 6 ******************/
+#define X_XFixesSetClientDisconnectMode 33
+#define X_XFixesGetClientDisconnectMode 34
-#define XFixesNumberRequests (X_XFixesDestroyPointerBarrier+1)
+#define XFixesNumberRequests (X_XFixesGetClientDisconnectMode+1)
/* Selection events share one event number */
#define XFixesSelectionNotify 0
@@ -136,4 +139,11 @@
#define BarrierNegativeX (1L << 2)
#define BarrierNegativeY (1L << 3)
+/*************** Version 6 ******************/
+
+/* The default server behaviour */
+#define XFixesClientDisconnectFlagDefault 0
+/* The server may disconnect this client to shut down */
+#define XFixesClientDisconnectFlagTerminate (1L << 0)
+
#endif /* _XFIXESWIRE_H_ */