x11proto-randr: Changes to 'upstream-experimental'
configure.ac | 2 -
randr.h | 4 ++
randrproto.h | 58 +++++++++++++++++++++++++---------------
randrproto.txt | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
4 files changed, 118 insertions(+), 28 deletions(-)
New commits:
commit 3fdbdc2b0a971db7497c6e03e215fd19ec400ce9
Author: Matthias Hopf <mhopf@suse.de>
Date: Fri Dec 12 12:41:21 2008 +0100
Bump to 1.2.99.3
diff --git a/configure.ac b/configure.ac
index e7398d7..5c0cc88 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.99.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_INIT([RandrProto], [1.2.99.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
XORG_RELEASE_VERSION
commit 0c1527d2e89a807e54c549e44798e2cf63fafca2
Author: Matthias Hopf <mhopf@suse.de>
Date: Thu Dec 11 17:15:15 2008 +0100
Panning tracking areas describe full screen if set to 0.
diff --git a/randrproto.txt b/randrproto.txt
index 9b23120..e55140d 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -1156,7 +1156,8 @@ dynamic changes in the display environment.
total screen size. If set to the total screen size, the CRTC will pan
in the remaining axis even if the pointer is outside the panning area
on a different CRTC, as shown in the figure above. If the pointer is
- outside the tracking area, the CRTC will not pan.
+ outside the tracking area, the CRTC will not pan. Zero can be used as
+ an alias for the total screen size.
┌──┳━━━━━━━━━━━━━━┳────────────┐
│ ┃ CRTC ┃ │
commit d904495a4cbd66850dc03d32f223aaaf8425f077
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Dec 10 11:15:48 2008 -0500
Add [GS]etOutputPrimary
diff --git a/randr.h b/randr.h
index 92f2fb6..eafcda5 100644
--- a/randr.h
+++ b/randr.h
@@ -44,7 +44,7 @@ typedef unsigned long XRandrModeFlags;
#define RRNumberErrors 3
#define RRNumberEvents 2
-#define RRNumberRequests 30
+#define RRNumberRequests 32
#define X_RRQueryVersion 0
/* we skip 1 to make old clients fail pretty immediately */
@@ -84,6 +84,8 @@ typedef unsigned long XRandrModeFlags;
#define X_RRGetCrtcTransform 27
#define X_RRGetPanning 28
#define X_RRSetPanning 29
+#define X_RRSetOutputPrimary 30
+#define X_RRGetOutputPrimary 31
#define RRTransformUnit (1L << 0)
#define RRTransformScaleUp (1L << 1)
diff --git a/randrproto.h b/randrproto.h
index b434b3a..3b98a9f 100644
--- a/randrproto.h
+++ b/randrproto.h
@@ -614,6 +614,37 @@ typedef struct {
#define sz_xRRGetCrtcTransformReply 96
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ Window window B32;
+ RROutput output B32;
+} xRRSetOutputPrimaryReq;
+#define sz_xRRSetOutputPrimaryReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ Window window B32;
+} xRRGetOutputPrimaryReq;
+#define sz_xRRGetOutputPrimaryReq 8
+
+typedef struct {
+ BYTE type;
+ CARD8 pad;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ RROutput output B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xRRGetOutputPrimaryReply;
+#define sz_xRRGetOutputPrimaryReply 32
+
/*
* event
*/
diff --git a/randrproto.txt b/randrproto.txt
index 65b122d..9b23120 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -1193,6 +1193,51 @@ dynamic changes in the display environment.
'new-time-stamp' contains the time at which this request was
executed.
+┌───
+ RRSetOutputPrimary
+ window: WINDOW
+ output: OUTPUT
+└───
+ Errors: Match, Output, Window
+
+ RRSetOutputPrimary marks 'output' as the primary output for the
+ screen with the same root window as 'window'. This output's CRTC
+ will be sorted to the front of the list in Xinerama and RANDR
+ geometry requests for the benefit of older applications. The
+ default primary output is None, and None is a legal value to pass
+ to RRSetOutputPrimary. This request is expected to be used by
+ desktop environments to mark the screen that should hold the primary
+ menu bar or panel.
+
+ If the named output is not connected to any CRTC, or if the Window
+ and Output are not attached to the same screen, BadMatch is generated.
+ In the latter case, errorValue will be the Window, not the Output.
+
+ As this changes the logical layout of the screen, ConfigureNotify
+ and RRScreenChangeNotify will be generated on the appropriate root
+ window when the primary output is changed by this call. This request
+ also generates RROutputChangeNotify events on the outputs that gained
+ and lost primary status.
+
+ If an output is disconnected asynchronously (eg. due to recabling),
+ the primary status does not change, but RROutputChangeNotify events
+ will be generated if the hardware is capable of detecting this;
+ clients are expected to reconfigure if appropriate.
+
+ If an output is deleted (eg. due to device hotplug), the server will
+ act as though None was passed to RRSetOutputPrimary, including
+ generating the appropriate events.
+
+┌───
+ RRGetOutputPrimary
+ window: WINDOW
+ ▶
+ output: OUTPUT
+└───
+ Errors: Window
+
+ RRGetOutputPrimary returns the primary output for the system.
+
❧❧❧❧❧❧❧❧❧❧❧
8. Extension Events
@@ -1360,7 +1405,7 @@ list of what each version provided:
modes
1.3: Added cheap version of RRGetScreenResources. Added CRTC
- transformations. Added panning.
+ transformations. Added panning. Added primary outputs.
Compatibility between 0.0 and 1.0 was *NOT* preserved, and 0.0 clients
will fail against 1.0 servers. The wire encoding op-codes were
@@ -1369,8 +1414,9 @@ graceful way. Version 1.1 servers and clients are cross compatible with
1.0. Version 1.1 is considered to be stable and we intend upward
compatibility from this point. Version 1.2 offers an extended model of the
system with multiple output support. Version 1.3 adds a cheap version of
-GetScreenResources to avoid expensive DDC operations, and CRTC
-transformations. 1.2 and 1.3 are backward-compatible with 1.1.
+GetScreenResources to avoid expensive DDC operations, CRTC transformations,
+panning, and the primary output concept. 1.2 and 1.3 are backward-compatible
+with 1.1.
❧❧❧❧❧❧❧❧❧❧❧
@@ -2038,6 +2084,33 @@ A.2.2 Protocol Requests added with version 1.3
20 unused
└───
+┌───
+ RRSetOutputPrimary
+ 1 CARD8 major opcode
+ 1 30 RandR opcode
+ 2 3 length
+ 4 WINDOW window
+ 4 OUTPUT output
+└───
+
+┌───
+ RRGetOutputPrimary
+ 1 CARD8 major opcode
+ 1 31 RandR opcode
+ 2 2 length
+ 4 WINDOW window
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 CARD32 length
+ 4 OUTPUT output
+ 4 CARD32 pad1
+ 4 CARD32 pad2
+ 4 CARD32 pad3
+ 4 CARD32 pad4
+└───
+
A.3 Protocol Events
┌───
commit ad6501790bbaff528cf247df24ddb7de27576a11
Author: Keith Packard <keithp@keithp.com>
Date: Wed Nov 26 15:47:18 2008 -0800
Remove duplicate GetScreenResourcesCurrent declarations
Signed-off-by: Keith Packard <keithp@keithp.com>
diff --git a/randrproto.h b/randrproto.h
index f8aac94..215bde3 100644
--- a/randrproto.h
+++ b/randrproto.h
@@ -567,29 +567,12 @@ typedef struct {
* Additions for V1.3
*/
-typedef struct {
- CARD8 reqType;
- CARD8 randrReqType;
- CARD16 length B16;
- Window window B32;
-} xRRGetScreenResourcesCurrentReq;
-#define sz_xRRGetScreenResourcesCurrentReq 8
+typedef xRRGetScreenResourcesReq xRRGetScreenResourcesCurrentReq;
-typedef struct {
- BYTE type;
- CARD8 pad;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- Time timestamp B32;
- Time configTimestamp B32;
- CARD16 nCrtcs B16;
- CARD16 nOutputs B16;
- CARD16 nModes B16;
- CARD16 nbytesNames B16;
- CARD32 pad1 B32;
- CARD32 pad2 B32;
-} xRRGetScreenResourcesCurrentReply;
-#define sz_xRRGetScreenResourcesCurrentReply 32
+#define sz_xRRGetScreenResourcesCurrentReq sz_xRRGetScreenResourcesReq
+
+typedef xRRGetScreenResourcesReply xRRGetScreenResourcesCurrentReply;
+#define sz_xRRGetScreenResourcesCurrentReply sz_xRRGetScreenResourcesReply
typedef struct {
CARD8 reqType;
Reply to: