aboutsummaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorOleksandr Shneyder <oleksandr.shneyder@obviously-nice.de>2015-02-10 19:23:16 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2015-02-10 19:40:54 +0100
commitd26930d59838e2a8305c66b67aaa163db157920c (patch)
treed927b29830bcbe4e57b30656790b76584132c02f /debian
parent6aa18cc28c4adee20b7a6494c8acb430380c4c98 (diff)
downloadnx-libs-d26930d59838e2a8305c66b67aaa163db157920c.tar.gz
nx-libs-d26930d59838e2a8305c66b67aaa163db157920c.tar.bz2
nx-libs-d26930d59838e2a8305c66b67aaa163db157920c.zip
Enable Xinerama support for NX (202_nx-X11_enable-xinerama.full.patch).
This patch adds Xinerama awareness to NX agent windows. The advantage of Xinerama awareness is that an NX session window will only maximize to the dimensions of the active physical display.
Diffstat (limited to 'debian')
-rw-r--r--debian/patches/202_nx-X11_enable-xinerama.full.patch292
-rw-r--r--debian/patches/series1
2 files changed, 0 insertions, 293 deletions
diff --git a/debian/patches/202_nx-X11_enable-xinerama.full.patch b/debian/patches/202_nx-X11_enable-xinerama.full.patch
deleted file mode 100644
index 6845ec51e..000000000
--- a/debian/patches/202_nx-X11_enable-xinerama.full.patch
+++ /dev/null
@@ -1,292 +0,0 @@
-Description: Enable Xinerama support for NX
- This patch adds Xinerama awareness to NX agent windows.
- .
- The advantage of Xinerama awareness is that an NX session window
- will only maximize to the dimensions of the active physical
- display.
-Forwarded: pending
-Author: Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de>
-Last-Update: 2012-01-13
---- a/nx-X11/config/cf/host.def
-+++ b/nx-X11/config/cf/host.def
-@@ -686,7 +686,7 @@
- *
- #define BuildXinerama NO
- */
--#define BuildXinerama NO
-+#define BuildXinerama YES
-
- /*
- * If you don't want to build support for the GLX extension, uncomment this.
---- a/nx-X11/config/cf/X11.tmpl
-+++ b/nx-X11/config/cf/X11.tmpl
-@@ -456,7 +456,7 @@
- #define BuildXinerama NO
- #endif
- #ifndef BuildXineramaLibrary
--#define BuildXineramaLibrary (BuildXinerama && !BuildServersOnly)
-+#define BuildXineramaLibrary (BuildXinerama)
- #endif
- #ifndef BuildDmxDevelTools
- #define BuildDmxDevelTools NO
---- a/nx-X11/lib/Xinerama/Xinerama.c
-+++ b/nx-X11/lib/Xinerama/Xinerama.c
-@@ -34,7 +34,7 @@
- #include <X11/extensions/panoramiXext.h>
- #include <X11/extensions/panoramiXproto.h>
- #include <X11/extensions/Xinerama.h>
--
-+#include <stdio.h>
-
- static XExtensionInfo _panoramiX_ext_info_data;
- static XExtensionInfo *panoramiX_ext_info = &_panoramiX_ext_info_data;
-@@ -249,6 +249,16 @@
- xXineramaIsActiveReq *req;
- XExtDisplayInfo *info = find_display (dpy);
-
-+
-+ FILE* fptr;
-+ if((fptr=fopen(getenv("NX_XINERAMA_CONF"),"r"))!=NULL) {
-+ fclose (fptr);
-+ return True;
-+ }
-+ else {
-+ return False;
-+ }
-+
- if(!XextHasExtension(info))
- return False; /* server doesn't even have the extension */
-
-@@ -266,7 +276,6 @@
- return rep.state;
- }
-
--#include <stdio.h>
-
- XineramaScreenInfo *
- XineramaQueryScreens(
-@@ -279,39 +288,72 @@
- xXineramaQueryScreensReq *req;
- XineramaScreenInfo *scrnInfo = NULL;
-
-- PanoramiXCheckExtension (dpy, info, 0);
-+ int i;
-+ int x,y,w,h;
-+ FILE* fptr;
-+ if((fptr=fopen(getenv("NX_XINERAMA_CONF"),"r"))==NULL) {
-+ PanoramiXCheckExtension (dpy, info, 0);
-+ LockDisplay (dpy);
-+ GetReq (XineramaQueryScreens, req);
-+ req->reqType = info->codes->major_opcode;
-+ req->panoramiXReqType = X_XineramaQueryScreens;
-+ if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) {
-+ UnlockDisplay (dpy);
-+ SyncHandle ();
-+ return NULL;
-+ }
-+ if(rep.number) {
-+ if((scrnInfo = Xmalloc(sizeof(XineramaScreenInfo) * rep.number))) {
-+ xXineramaScreenInfo scratch;
-+ int i;
-+
-+ for(i = 0; i < rep.number; i++) {
-+ _XRead(dpy, (char*)(&scratch), sz_XineramaScreenInfo);
-+ scrnInfo[i].screen_number = i;
-+ scrnInfo[i].x_org = scratch.x_org;
-+ scrnInfo[i].y_org = scratch.y_org;
-+ scrnInfo[i].width = scratch.width;
-+ scrnInfo[i].height = scratch.height;
-+ }
-+
-+ *number = rep.number;
-+ } else {
-+ _XEatData(dpy, rep.length << 2);
-+ }
-+ }
-
-- LockDisplay (dpy);
-- GetReq (XineramaQueryScreens, req);
-- req->reqType = info->codes->major_opcode;
-- req->panoramiXReqType = X_XineramaQueryScreens;
-- if (!_XReply (dpy, (xReply *) &rep, 0, xFalse)) {
- UnlockDisplay (dpy);
- SyncHandle ();
-- return NULL;
-- }
-
-- if(rep.number) {
-- if((scrnInfo = Xmalloc(sizeof(XineramaScreenInfo) * rep.number))) {
-- xXineramaScreenInfo scratch;
-- int i;
--
-- for(i = 0; i < rep.number; i++) {
-- _XRead(dpy, (char*)(&scratch), sz_XineramaScreenInfo);
-- scrnInfo[i].screen_number = i;
-- scrnInfo[i].x_org = scratch.x_org;
-- scrnInfo[i].y_org = scratch.y_org;
-- scrnInfo[i].width = scratch.width;
-- scrnInfo[i].height = scratch.height;
-- }
-+ } else {
-
-- *number = rep.number;
-- } else
-- _XEatData(dpy, rep.length << 2);
-+ i=0;
-+ while(!feof(fptr)) {
-+ w=h=0;
-+ fscanf(fptr,"%d %d %d %d",&x,&y,&w,&h);
-+ if(w&&h)
-+ i++;
-+ }
-+ rewind(fptr);
-+ *number=i;
-+ if((scrnInfo = Xmalloc(sizeof(XineramaScreenInfo) * i))) {
-+ i=0;
-+ while(!feof(fptr)){
-+ w=h=0;
-+ fscanf(fptr,"%d %d %d %d",&x,&y,&w,&h);
-+ if(w&&h){
-+ scrnInfo[i].screen_number=i;
-+ scrnInfo[i].x_org=x;
-+ scrnInfo[i].y_org=y;
-+ scrnInfo[i].width=w;
-+ scrnInfo[i].height=h;
-+ i++;
-+ }
-+ }
-+ }
-+ fclose(fptr);
- }
-
-- UnlockDisplay (dpy);
-- SyncHandle ();
- return scrnInfo;
- }
-
---- a/nx-X11/programs/Xserver/hw/nxagent/Imakefile
-+++ b/nx-X11/programs/Xserver/hw/nxagent/Imakefile
-@@ -206,7 +206,7 @@
- -UNX_DEBUG_INPUT \
- -DRANDR_10_INTERFACE \
- -DRANDR_12_INTERFACE \
-- -UPANORAMIX \
-+ -DPANORAMIX \
- -UDEBUG_TREE
-
- all:: $(OBJS)
---- a/nx-X11/programs/Xserver/hw/nxagent/X/NXxvdisp.c
-+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXxvdisp.c
-@@ -275,17 +275,19 @@
- case xv_PutVideo:
- #ifdef PANORAMIX
- if(!noPanoramiXExtension)
-- result = (XineramaXvPutVideo(client)); break;
-+ result = (XineramaXvPutVideo(client));
- else
- #endif
-- result = (ProcXvPutVideo(client)); break;
-+ result = (ProcXvPutVideo(client));
-+ break;
- case xv_PutStill:
- #ifdef PANORAMIX
- if(!noPanoramiXExtension)
-- result = (XineramaXvPutStill(client)); break
-+ result = (XineramaXvPutStill(client));
- else
- #endif
-- result = (ProcXvPutStill(client)); break;
-+ result = (ProcXvPutStill(client));
-+ break;
- case xv_GetVideo: result = (ProcXvGetVideo(client)); break;
- case xv_GetStill: result = (ProcXvGetStill(client)); break;
- case xv_GrabPort: result = (ProcXvGrabPort(client)); break;
-@@ -295,35 +297,39 @@
- case xv_StopVideo:
- #ifdef PANORAMIX
- if(!noPanoramiXExtension)
-- result = (XineramaXvStopVideo(client)); break;
-+ result = (XineramaXvStopVideo(client));
- else
- #endif
-- result = (ProcXvStopVideo(client)); break;
-+ result = (ProcXvStopVideo(client));
-+ break;
- case xv_SetPortAttribute:
- #ifdef PANORAMIX
- if(!noPanoramiXExtension)
-- result = (XineramaXvSetPortAttribute(client)); break;
-+ result = (XineramaXvSetPortAttribute(client));
- else
- #endif
-- result = (ProcXvSetPortAttribute(client)); break;
-+ result = (ProcXvSetPortAttribute(client));
-+ break;
- case xv_GetPortAttribute: result = (ProcXvGetPortAttribute(client)); break;
- case xv_QueryBestSize: result = (ProcXvQueryBestSize(client)); break;
- case xv_QueryPortAttributes: result = (ProcXvQueryPortAttributes(client)); break;
- case xv_PutImage:
- #ifdef PANORAMIX
- if(!noPanoramiXExtension)
-- result = (XineramaXvPutImage(client)); break;
-+ result = (XineramaXvPutImage(client));
- else
- #endif
-- result = (ProcXvPutImage(client)); break;
-+ result = (ProcXvPutImage(client));
-+ break;
- #ifdef MITSHM
- case xv_ShmPutImage:
- #ifdef PANORAMIX
- if(!noPanoramiXExtension)
-- result = (XineramaXvShmPutImage(client)); break;
-+ result = (XineramaXvShmPutImage(client));
- else
- #endif
-- result = (ProcXvShmPutImage(client)); break;
-+ result = (ProcXvShmPutImage(client));
-+ break;
- #endif
- case xv_QueryImageAttributes: result = (ProcXvQueryImageAttributes(client)); break;
- case xv_ListImageFormats: result = (ProcXvListImageFormats(client)); break;
---- a/nx-X11/programs/Xserver/Imakefile
-+++ b/nx-X11/programs/Xserver/Imakefile
-@@ -1021,7 +1021,7 @@
- #else
- NXAGENTNXLIBS = -L ../../../nxcomp -L ../../../nxcompext -L ../../../nxcompshad \
- -lXcomp -lXcompext -lXcompshad -lXrender -lX11 -lXext -lXfixes \
-- -L../../../nx-X11/exports/lib -lXtst -lXdamage -lXrandr -lXcomposite
-+ -L../../../nx-X11/exports/lib -lXtst -lXdamage -lXrandr -lXcomposite -lXinerama
- #endif
-
- #endif
---- a/nx-X11/programs/Xserver/Xext/panoramiX.c
-+++ b/nx-X11/programs/Xserver/Xext/panoramiX.c
-@@ -1045,16 +1045,7 @@
- rep.type = X_Reply;
- rep.length = 0;
- rep.sequenceNumber = client->sequence;
--#if 1
-- {
-- /* The following hack fools clients into thinking that Xinerama
-- * is disabled even though it is not. */
-- extern Bool PanoramiXExtensionDisabledHack;
-- rep.state = !noPanoramiXExtension && !PanoramiXExtensionDisabledHack;
-- }
--#else
- rep.state = !noPanoramiXExtension;
--#endif
- if (client->swapped) {
- register int n;
- swaps (&rep.sequenceNumber, n);
---- a/nx-X11/programs/Xserver/Xext/panoramiX.h
-+++ b/nx-X11/programs/Xserver/Xext/panoramiX.h
-@@ -44,7 +44,7 @@
- #define _PANORAMIX_H_
-
- #include <X11/extensions/panoramiXext.h>
--#include "gcstruct.h"
-+/*#include "gcstruct.h"*/
-
-
- typedef struct _PanoramiXData {
diff --git a/debian/patches/series b/debian/patches/series
index d9b63cce7..746c6ad43 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,4 +1,3 @@
-202_nx-X11_enable-xinerama.full.patch
203_nxagent_disable-rootless-exit.full.patch
204_nxagent_repaint-solidpict.full.patch
205_nxagent_refresh-adsl.full.patch