summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2007-07-13 10:22:18 -0700
committerEric Anholt <eric@anholt.net>2007-07-13 10:24:23 -0700
commit2435bba84dd23201466879c3361206737cfb4ed8 (patch)
tree11dc4d5fef238fdb4448da6991074387a7d514b0
parent3243afaa593f95bb89b1381dac2b920111ce36b1 (diff)
downloadxorg-proto-randrproto-randr-dpms.tar.gz
Add per-output DPMS change event and bump proto version to 1.3randr-dpms
-rw-r--r--configure.ac2
-rw-r--r--randr.h6
-rw-r--r--randrproto.h15
-rw-r--r--randrproto.txt15
4 files changed, 36 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index 6c338f0..f0fa6d9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ dnl
dnl Process this file with autoconf to create configure.
AC_PREREQ([2.57])
-AC_INIT([RandrProto], [1.2.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_INIT([RandrProto], [1.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
XORG_RELEASE_VERSION
diff --git a/randr.h b/randr.h
index 17e6ef9..685c8ca 100644
--- a/randr.h
+++ b/randr.h
@@ -39,7 +39,7 @@ typedef unsigned long XRandrModeFlags;
#define RANDR_NAME "RANDR"
#define RANDR_MAJOR 1
-#define RANDR_MINOR 2
+#define RANDR_MINOR 3
#define RRNumberErrors 3
#define RRNumberEvents 2
@@ -83,6 +83,8 @@ typedef unsigned long XRandrModeFlags;
#define RRCrtcChangeNotifyMask (1L << 1)
#define RROutputChangeNotifyMask (1L << 2)
#define RROutputPropertyNotifyMask (1L << 3)
+/* V1.3 additions */
+#define RROutputDPMSChangeNotifyMask (1L << 4)
/* Event codes */
#define RRScreenChangeNotify 0
@@ -92,6 +94,8 @@ typedef unsigned long XRandrModeFlags;
#define RRNotify_CrtcChange 0
#define RRNotify_OutputChange 1
#define RRNotify_OutputProperty 2
+/* V1.3 additions */
+#define RRNotify_OutputDPMSChange 3
/* used in the rotation field; rotation and reflection in 0.1 proto. */
#define RR_Rotate_0 1
diff --git a/randrproto.h b/randrproto.h
index cf7a022..b1f4179 100644
--- a/randrproto.h
+++ b/randrproto.h
@@ -626,6 +626,21 @@ typedef struct {
} xRROutputPropertyNotifyEvent;
#define sz_xRROutputPropertyNotifyEvent 32
+typedef struct {
+ CARD8 type; /* always evBase + RRNotify */
+ CARD8 subCode; /* RRNotify_OutputDPMSChange */
+ CARD16 sequenceNumber B16;
+ Window window B32; /* window requesting notification */
+ RROutput output B32; /* affected output */
+ CARD16 level; /* new DPMS level of output */
+ CARD16 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xRROutputDPMSChangeNotifyEvent;
+#define sz_xRROutputDPMSChangeNotifyEvent 32
+
#undef RRModeFlags
#undef RRCrtc
#undef RRMode
diff --git a/randrproto.txt b/randrproto.txt
index 6719cf8..4cf5981 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -1098,6 +1098,21 @@ factors, such as re-cabling a monitor, etc.
just at the time when a display manager or log in script might
be changing the monitor size or configuration.
+8.2 Events added in version 1.3 of the RandR extension
+
+┌───
+ RROutputDPMSChangeNotify:
+ window: WINDOW window requesting notification
+ output: OUTPUT output affected by change
+ level: CARD16
+└───
+
+ This event is generated whenever the DPMS state of an output has
+ changed and is sent to requsting clients. 'root' is the root of the
+ screen the change occurred on, 'window' is window selecting for this
+ event. The level is one of the DPMS level constants defined by the
+ DPMS extension.
+
❧❧❧❧❧❧❧❧❧❧❧
9. Extension Versioning