[PATCH xorgproto] Add DPMSInfoNotify event

Alexander Volkov avolkov at astralinux.ru
Tue Oct 2 13:05:48 UTC 2018


From: Alexander Volkov <a.volkov at rusbitech.ru>

This allows applications to respond to changes of power level
of a monitor, e.g. an application may stop rendering and related
calculations when the monitor is off.

Bump DPMS version to 1.2.

Signed-off-by: Alexander Volkov <a.volkov at rusbitech.ru>
---
 include/X11/extensions/dpmsconst.h |  5 ++++-
 include/X11/extensions/dpmsproto.h | 27 ++++++++++++++++++++++++++-
 2 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/include/X11/extensions/dpmsconst.h b/include/X11/extensions/dpmsconst.h
index 75f0586..f46d2d9 100644
--- a/include/X11/extensions/dpmsconst.h
+++ b/include/X11/extensions/dpmsconst.h
@@ -30,7 +30,7 @@ Equipment Corporation.
 #define _DPMSCONST_H 1
 
 #define DPMSMajorVersion	1
-#define DPMSMinorVersion	1
+#define DPMSMinorVersion	2
 
 #define DPMSExtensionName	"DPMS"
 
@@ -39,5 +39,8 @@ Equipment Corporation.
 #define DPMSModeSuspend	2
 #define DPMSModeOff	3
 
+#define DPMSInfoNotifyMask	(1L << 0)
+#define DPMSInfoNotify		0
+
 #endif /* !_DPMSCONST_H */
 
diff --git a/include/X11/extensions/dpmsproto.h b/include/X11/extensions/dpmsproto.h
index 63fd3fc..9c26054 100644
--- a/include/X11/extensions/dpmsproto.h
+++ b/include/X11/extensions/dpmsproto.h
@@ -39,8 +39,9 @@ Equipment Corporation.
 #define X_DPMSDisable		5
 #define X_DPMSForceLevel       	6
 #define X_DPMSInfo       	7
+#define X_DPMSSelectInput	8
 
-#define DPMSNumberEvents	0
+#define DPMSNumberEvents	1
 
 #define DPMSNumberErrors	0
 
@@ -172,4 +173,28 @@ typedef struct {
 } xDPMSInfoReply;
 #define sz_xDPMSInfoReply 32
 
+typedef struct {
+    CARD8	reqType;	/* always DPMSCode */
+    CARD8	dpmsReqType;	/* always X_DPMSSelectInput */
+    CARD16	length B16;
+    CARD32	eventMask B32;
+} xDPMSSelectInputReq;
+#define sz_xDPMSSelectInputReq 8
+
+typedef struct {
+    CARD8	type;		/* always eventBase + DPMSInfoNotify */
+    CARD8	pad0;
+    CARD16	sequenceNumber B16;
+    Time	timestamp B32;
+    CARD16	power_level B16;
+    BOOL	state;
+    CARD8	pad1;
+    CARD32	pad2 B32;
+    CARD32	pad3 B32;
+    CARD32	pad4 B32;
+    CARD32	pad5 B32;
+    CARD32	pad6 B32;
+} xDPMSInfoNotifyEvent;
+#define sz_xDPMSInfoNotifyEvent 32
+
 #endif /* _DPMSPROTO_H_ */
-- 
2.17.0



More information about the xorg-devel mailing list