aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw/nxagent/Extensions.c
diff options
context:
space:
mode:
authorUlrich Sibiller <uli42@gmx.de>2015-05-02 21:53:25 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2015-12-30 00:05:53 +0100
commitc6482d24fff982d5e11636167c719766f8207d48 (patch)
treeec795c2bb2bc56d76e8d8e67fec48ce5d55512e5 /nx-X11/programs/Xserver/hw/nxagent/Extensions.c
parent2d776b14fddc5ec70c97aa82672f3a7c9caef6a3 (diff)
downloadnx-libs-c6482d24fff982d5e11636167c719766f8207d48.tar.gz
nx-libs-c6482d24fff982d5e11636167c719766f8207d48.tar.bz2
nx-libs-c6482d24fff982d5e11636167c719766f8207d48.zip
Reimplement xinerama via randr in nxagent (not libNX_Xinerama). (Fixes ArcticaProject/nx-libs#23).
No more xinerama faking, just use existing xrandr extension and initalize it properly. Xinerama then works automatically. Fixes ArcticaProject/nx-libs#23
Diffstat (limited to 'nx-X11/programs/Xserver/hw/nxagent/Extensions.c')
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Extensions.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Extensions.c b/nx-X11/programs/Xserver/hw/nxagent/Extensions.c
index 6dce644ae..103eaa92c 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Extensions.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Extensions.c
@@ -35,6 +35,11 @@ static int nxagentRandRScreenSetSize(ScreenPtr pScreen, CARD16 width,
static int nxagentRandRInitSizes(ScreenPtr pScreen);
+static Bool nxagentRandRCrtcSet (ScreenPtr pScreen, RRCrtcPtr crtc,
+ RRModePtr mode, int x, int y,
+ Rotation rotation, int numOutputs,
+ RROutputPtr *outputs);
+
#ifdef __DARWIN__
void DarwinHandleGUI(int argc, char *argv[])
@@ -83,6 +88,8 @@ void nxagentInitRandRExtension(ScreenPtr pScreen)
fprintf(stderr, "Warning: Failed to initialize the RandR extension.\n");
}
+
+ /* FIXME: do we need this at all with the new rand/xinerama stuff? */
nxagentRandRInitSizes(pScreen);
/*
@@ -97,6 +104,7 @@ void nxagentInitRandRExtension(ScreenPtr pScreen)
#if RANDR_12_INTERFACE
pRandRScrPriv -> rrScreenSetSize = nxagentRandRScreenSetSize;
+ pRandRScrPriv -> rrCrtcSet = nxagentRandRCrtcSet;
#endif
#if RANDR_10_INTERFACE
@@ -104,6 +112,34 @@ void nxagentInitRandRExtension(ScreenPtr pScreen)
#endif
}
+void
+RRResetProc (ExtensionEntry *extEntry)
+{
+ fprintf(stderr, "RANDR going down - NX version\n");
+}
+
+
+
+#if RANDR_12_INTERFACE
+/*
+ * Request that the Crtc be reconfigured
+ */
+
+static Bool
+nxagentRandRCrtcSet (ScreenPtr pScreen,
+ RRCrtcPtr crtc,
+ RRModePtr mode,
+ int x,
+ int y,
+ Rotation rotation,
+ int numOutputs,
+ RROutputPtr *outputs)
+{
+ return RRCrtcNotify(crtc, mode, x, y, rotation, numOutputs, outputs);
+}
+#endif
+
+
int nxagentRandRGetInfo(ScreenPtr pScreen, Rotation *pRotations)
{
/*