diff options
author | Mihai Moldovan <ionic@ionic.de> | 2017-12-15 12:55:17 +0100 |
---|---|---|
committer | Mihai Moldovan <ionic@ionic.de> | 2017-12-15 12:55:17 +0100 |
commit | 1dad092caf01d733990648e6df64cbf964df5143 (patch) | |
tree | 39de0e643e76754a3e23ca9dd0350b8ba4f76250 /debian/patches/0999_nxagent_unbrand-nxagent-brand-x2goagent.full.patch | |
parent | 6d70b9e3c47f27a166f4aacb522c5c1e49092dd9 (diff) | |
parent | 2b9025f797ee322e21077e100c2ee27c2e7fa0e0 (diff) | |
download | nx-libs-1dad092caf01d733990648e6df64cbf964df5143.tar.gz nx-libs-1dad092caf01d733990648e6df64cbf964df5143.tar.bz2 nx-libs-1dad092caf01d733990648e6df64cbf964df5143.zip |
Merge branch '3.6.x'
Diffstat (limited to 'debian/patches/0999_nxagent_unbrand-nxagent-brand-x2goagent.full.patch')
-rw-r--r-- | debian/patches/0999_nxagent_unbrand-nxagent-brand-x2goagent.full.patch | 367 |
1 files changed, 0 insertions, 367 deletions
diff --git a/debian/patches/0999_nxagent_unbrand-nxagent-brand-x2goagent.full.patch b/debian/patches/0999_nxagent_unbrand-nxagent-brand-x2goagent.full.patch deleted file mode 100644 index f48f4c02f..000000000 --- a/debian/patches/0999_nxagent_unbrand-nxagent-brand-x2goagent.full.patch +++ /dev/null @@ -1,367 +0,0 @@ -Description: Unbrand NX Agent Startup Screen / Brand X2Go Agent Startup Screen - When launched with NX Agent flavour, the startup screen gets unbranded by - this patch (the !M logo does not get shown). - . - When launched with X2Go Agent flavour, the startup screen gets branded - with the X2GO logo. -Forwarded: not-needed -Author: Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> -Last-Update: 2012-01-11 ---- a/nx-X11/programs/Xserver/hw/nxagent/Splash.c -+++ b/nx-X11/programs/Xserver/hw/nxagent/Splash.c -@@ -35,6 +35,7 @@ - #include "Windows.h" - #include "Atoms.h" - #include "Trap.h" -+#include "Init.h" - - /* - * Set here the required log level. -@@ -53,6 +54,7 @@ int nxagentLogoDepth; - int nxagentLogoWhite; - int nxagentLogoRed; - int nxagentLogoBlack; -+int nxagentLogoGray; - - void nxagentPaintLogo(Window win, GC gc, int scale, int width, int height); - -@@ -166,6 +168,15 @@ void nxagentPaintLogo(Window win, GC gc, - XPoint m[12]; - int w, h, c, w2, h2; - -+ /* -+ * Show only X2GO Logo when running as X2Go Agent -+ */ -+ if(! nxagentX2go) -+ { -+ nxagentPixmapLogo = 0L; -+ return; -+ } -+ - #ifdef DEBUG - fprintf(stderr, "nxagenShowtLogo: Got called.\n"); - #endif -@@ -218,75 +229,146 @@ void nxagentPaintLogo(Window win, GC gc, - XSetForeground(nxagentDisplay, gc, nxagentLogoRed); - XSetBackground(nxagentDisplay, gc, nxagentLogoWhite); - -- rect[0].x = w2-10*c; rect[0].y = h2-8*c; -- rect[1].x = w2-10*c; rect[1].y = h2+8*c; -- rect[2].x = w2+10*c; rect[2].y = h2+8*c; -- rect[3].x = w2+10*c; rect[3].y = h2-8*c; -+ /* -+ * Draw X2GO Logo -+ */ - -+ /* -+ * Begin 'X'. -+ */ -+ -+ XSetForeground(nxagentDisplay, gc, nxagentLogoGray); -+ XSetBackground(nxagentDisplay, gc, nxagentLogoWhite); -+ rect[0].x = w2-7*c; rect[0].y = h2-5*c; -+ rect[1].x = w2-8*c; rect[1].y = h2-5*c; -+ rect[2].x = w2-4*c; rect[2].y = h2+3*c; -+ rect[3].x = w2-3*c; rect[3].y = h2+3*c; - XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin); - -- #ifdef NXAGENT_LOGO_DEBUG -- fprintf(stderr, "filled red rect\n"); -- #endif -+ rect[0].x = w2-4*c; rect[0].y = h2-5*c; -+ rect[1].x = w2-3*c; rect[1].y = h2-5*c; -+ rect[2].x = w2-7*c; rect[2].y = h2+3*c; -+ rect[3].x = w2-8*c; rect[3].y = h2+3*c; -+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin); - -- rect[0].x = w2-9*c; rect[0].y = h2-7*c; -- rect[1].x = w2-9*c; rect[1].y = h2+7*c; -- rect[2].x = w2+9*c; rect[2].y = h2+7*c; -- rect[3].x = w2+9*c; rect[3].y = h2-7*c; -+ /* -+ * End 'X'. -+ */ - -- XSetForeground(nxagentDisplay, gc, nxagentLogoWhite); -- XSetBackground(nxagentDisplay, gc, nxagentLogoRed); -+ /* -+ * Start '2'. -+ */ -+ -+ rect[0].x = w2-2*c; rect[0].y = h2-5*c; -+ rect[1].x = w2-1*c; rect[1].y = h2-5*c; -+ rect[2].x = w2-1*c; rect[2].y = h2-3*c; -+ rect[3].x = w2-2*c; rect[3].y = h2-3*c; -+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin); -+ -+ rect[0].x = w2-2*c; rect[0].y = h2-5*c; -+ rect[1].x = w2+2*c; rect[1].y = h2-5*c; -+ rect[2].x = w2+2*c; rect[2].y = h2-4*c; -+ rect[3].x = w2-2*c; rect[3].y = h2-4*c; -+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin); - -+ rect[0].x = w2+1*c; rect[0].y = h2-5*c; -+ rect[1].x = w2+2*c; rect[1].y = h2-5*c; -+ rect[2].x = w2+2*c; rect[2].y = h2-2*c; -+ rect[3].x = w2+1*c; rect[3].y = h2-2*c; - XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin); - -+ rect[0].x = w2+2*c; rect[0].y = h2-2*c; -+ rect[1].x = w2+1*c; rect[1].y = h2-2*c; -+ rect[2].x = w2-2*c; rect[2].y = h2+2*c; -+ rect[3].x = w2-1*c; rect[3].y = h2+2*c; -+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin); -+ -+ -+ rect[0].x = w2-2*c; rect[0].y = h2+2*c; -+ rect[1].x = w2+2*c; rect[1].y = h2+2*c; -+ rect[2].x = w2+2*c; rect[2].y = h2+3*c; -+ rect[3].x = w2-2*c; rect[3].y = h2+3*c; -+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin); - /* -- * Begin 'M'. -+ * End '2'. - */ - -- m[0].x = w2-3*c; m[0].y = h2-5*c; -- m[1].x = w2+7*c; m[1].y = h2-5*c; -- m[2].x = w2+7*c; m[2].y = h2+5*c; -- m[3].x = w2+5*c; m[3].y = h2+5*c; -- m[4].x = w2+5*c; m[4].y = h2-3*c; -- m[5].x = w2+3*c; m[5].y = h2-3*c; -- m[6].x = w2+3*c; m[6].y = h2+5*c; -- m[7].x = w2+1*c; m[7].y = h2+5*c; -- m[8].x = w2+1*c; m[8].y = h2-3*c; -- m[9].x = w2-1*c; m[9].y = h2-3*c; -- m[10].x = w2-1*c; m[10].y = h2+5*c; -- m[11].x = w2-3*c; m[11].y = h2+5*c; -+ /* -+ * Start 'G'. -+ */ - -- XSetForeground(nxagentDisplay, gc, nxagentLogoRed); -- XSetBackground(nxagentDisplay, gc, nxagentLogoWhite); -+ rect[0].x = w2+3*c; rect[0].y = h2-5*c; -+ rect[1].x = w2+7*c; rect[1].y = h2-5*c; -+ rect[2].x = w2+7*c; rect[2].y = h2-4*c; -+ rect[3].x = w2+3*c; rect[3].y = h2-4*c; -+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin); - -- XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, m, 12, Nonconvex, CoordModeOrigin); -+ rect[0].x = w2+3*c; rect[0].y = h2-5*c; -+ rect[1].x = w2+4*c; rect[1].y = h2-5*c; -+ rect[2].x = w2+4*c; rect[2].y = h2+3*c; -+ rect[3].x = w2+3*c; rect[3].y = h2+3*c; -+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin); - -+ rect[0].x = w2+3*c; rect[0].y = h2+2*c; -+ rect[1].x = w2+7*c; rect[1].y = h2+2*c; -+ rect[2].x = w2+7*c; rect[2].y = h2+3*c; -+ rect[3].x = w2+3*c; rect[3].y = h2+3*c; -+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin); -+ -+ rect[0].x = w2+6*c; rect[0].y = h2-5*c; -+ rect[1].x = w2+7*c; rect[1].y = h2-5*c; -+ rect[2].x = w2+7*c; rect[2].y = h2-3*c; -+ rect[3].x = w2+6*c; rect[3].y = h2-3*c; -+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin); -+ -+ rect[0].x = w2+6*c; rect[0].y = h2-0*c; -+ rect[1].x = w2+7*c; rect[1].y = h2-0*c; -+ rect[2].x = w2+7*c; rect[2].y = h2+3*c; -+ rect[3].x = w2+6*c; rect[3].y = h2+3*c; -+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin); -+ -+ rect[0].x = w2+5*c; rect[0].y = h2-1*c; -+ rect[1].x = w2+7*c; rect[1].y = h2-1*c; -+ rect[2].x = w2+7*c; rect[2].y = h2+0*c; -+ rect[3].x = w2+5*c; rect[3].y = h2+0*c; -+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin); - /* -- * End 'M'. -+ * End 'G'. - */ - - /* -- * Begin '!'. -+ * Start 'O'. - */ - -- rect[0].x = w2-7*c; rect[0].y = h2-5*c; -- rect[1].x = w2-5*c; rect[1].y = h2-5*c; -- rect[2].x = w2-5*c; rect[2].y = h2+2*c; -- rect[3].x = w2-7*c; rect[3].y = h2+2*c; -+ rect[0].x = w2+8*c; rect[0].y = h2-5*c; -+ rect[1].x = w2+12*c; rect[1].y = h2-5*c; -+ rect[2].x = w2+12*c; rect[2].y = h2-4*c; -+ rect[3].x = w2+8*c; rect[3].y = h2-4*c; -+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin); - -+ rect[0].x = w2+8*c; rect[0].y = h2+3*c; -+ rect[1].x = w2+12*c; rect[1].y = h2+3*c; -+ rect[2].x = w2+12*c; rect[2].y = h2+2*c; -+ rect[3].x = w2+8*c; rect[3].y = h2+2*c; - XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin); - -- rect[0].x = w2-7*c; rect[0].y = h2+3*c; -- rect[1].x = w2-5*c; rect[1].y = h2+3*c; -- rect[2].x = w2-5*c; rect[2].y = h2+5*c; -- rect[3].x = w2-7*c; rect[3].y = h2+5*c; -+ rect[0].x = w2+8*c; rect[0].y = h2-5*c; -+ rect[1].x = w2+9*c; rect[1].y = h2-5*c; -+ rect[2].x = w2+9*c; rect[2].y = h2+3*c; -+ rect[3].x = w2+8*c; rect[3].y = h2+3*c; -+ XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin); - -+ rect[0].x = w2+11*c; rect[0].y = h2-5*c; -+ rect[1].x = w2+12*c; rect[1].y = h2-5*c; -+ rect[2].x = w2+12*c; rect[2].y = h2+3*c; -+ rect[3].x = w2+11*c; rect[3].y = h2+3*c; - XFillPolygon(nxagentDisplay, nxagentPixmapLogo, gc, rect, 4, Convex, CoordModeOrigin); - - /* -- * End 'M'. -+ * End 'O'. - */ - -+ - XSetWindowBackgroundPixmap(nxagentDisplay, win, nxagentPixmapLogo); - - #ifdef NXAGENT_LOGO_DEBUG ---- a/nx-X11/programs/Xserver/hw/nxagent/Display.c -+++ b/nx-X11/programs/Xserver/hw/nxagent/Display.c -@@ -1430,22 +1430,10 @@ FIXME: Use of nxagentParentWindow is str - g = pV.green_mask; - b = pV.blue_mask; - -- if (!pV.red_mask || !pV.green_mask || !pV.blue_mask) -- { -- nxagentLogoBlack = 0x000000; -- nxagentLogoRed = 0xff0000; -- nxagentLogoWhite = 0xffffff; -- } -- else -- { -- for (or=0, off=0x800000; (r&(off>>or)) == 0; or++); -- for (og=0, off=0x800000; (g&(off>>og)) == 0; og++); -- for (ob=0, off=0x800000; (b&(off>>ob)) == 0; ob++); -- -- nxagentLogoRed = nxagentLogoColor(0xff0000); -- nxagentLogoBlack = nxagentLogoColor(0x000000); -- nxagentLogoWhite = 0xffffff; -- } -+ nxagentLogoBlack = 0x000000; -+ nxagentLogoRed = 0xff0000; -+ nxagentLogoWhite = 0xffffff; -+ nxagentLogoGray = 0x222222; - - #ifdef WATCH - -@@ -2696,22 +2684,10 @@ Bool nxagentReconnectDisplay(void *p0) - g = pV.green_mask; - b = pV.blue_mask; - -- if (!pV.red_mask || !pV.green_mask || !pV.blue_mask) -- { -- nxagentLogoBlack = 0x000000; -- nxagentLogoRed = 0xff0000; -- nxagentLogoWhite = 0xffffff; -- } -- else -- { -- for (or=0, off=0x800000; (r&(off>>or)) == 0; or++); -- for (og=0, off=0x800000; (g&(off>>og)) == 0; og++); -- for (ob=0, off=0x800000; (b&(off>>ob)) == 0; ob++); -- -- nxagentLogoRed = nxagentLogoColor(0xff0000); -- nxagentLogoBlack = nxagentLogoColor(0x000000); -- nxagentLogoWhite = 0xffffff; -- } -+ nxagentLogoBlack = 0x000000; -+ nxagentLogoRed = 0xff0000; -+ nxagentLogoWhite = 0xffffff; -+ nxagentLogoGray = 0x222222; - - useXpmIcon = nxagentMakeIcon(nxagentDisplay, &nxagentIconPixmap, &nxagentIconShape); - ---- a/nx-X11/programs/Xserver/hw/nxagent/Splash.h -+++ b/nx-X11/programs/Xserver/hw/nxagent/Splash.h -@@ -33,6 +33,7 @@ extern int nxagentLogoDepth; - extern int nxagentLogoWhite; - extern int nxagentLogoRed; - extern int nxagentLogoBlack; -+extern int nxagentLogoGray; - - extern Window nxagentSplashWindow; - ---- a/nx-X11/programs/Xserver/os/oscolor.c -+++ b/nx-X11/programs/Xserver/os/oscolor.c -@@ -53,7 +53,19 @@ SOFTWARE. - #include <sys/stat.h> - #include <unistd.h> - --static char* nxAltRgbPaths[] = {"/etc/nxagent/rgb", "/usr/share/nx/rgb", "/usr/local/share/nx/rgb", "/usr/NX/share/rgb", "/usr/share/X11/rgb", "/etc/X11/rgb"}; -+/* FIXME: we need more intelligent code (like provided by the nxagentX2go -+ * var in hw/nxagent/Init.h) to detect our current runtime mode (running -+ * as x2goagent, running as nxagent) -+ */ -+static char* nxAltRgbPaths[] = {"/etc/x2go/rgb", \ -+ "/usr/share/x2go/rgb", \ -+ "/usr/local/share/x2go/rgb", \ -+ "/etc/nxagent/rgb", \ -+ "/usr/share/nx/rgb", \ -+ "/usr/local/share/nx/rgb", \ -+ "/usr/NX/share/rgb", \ -+ "/usr/share/X11/rgb", \ -+ "/etc/X11/rgb"}; - static char _NXRgbPath[1024]; - - #endif ---- a/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c -+++ b/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c -@@ -62,6 +62,7 @@ is" without express or implied warranty. - - #include "globals.h" - #include "property.h" -+#include "Init.h" - - #include <X11/extensions/XKB.h> - -@@ -138,8 +139,11 @@ extern Status XkbGetContro - #ifndef XKB_ALTERNATE_BASE_DIRECTORY - #define XKB_ALTERNATE_BASE_DIRECTORY "/usr/X11R6/lib/X11/xkb" - #endif --#ifndef XKB_CONFIG_FILE --#define XKB_CONFIG_FILE "/etc/nxagent/nxagent.keyboard" -+#ifndef XKB_CONFIG_FILE_NX -+#define XKB_CONFIG_FILE_NX "/etc/nxagent/nxagent.keyboard" -+#endif -+#ifndef XKB_CONFIG_FILE_X2GO -+#define XKB_CONFIG_FILE_X2GO "/etc/x2go/x2goagent.keyboard" - #endif - #ifndef XKB_DFLT_RULES_FILE - #define XKB_DFLT_RULES_FILE "xfree86" -@@ -988,7 +992,10 @@ XkbError: - - XkbGetControls(nxagentDisplay, XkbAllControlsMask, xkb); - -- nxagentXkbConfigFilePathSize = strlen(XKB_CONFIG_FILE); -+ if (nxagentX2go) -+ nxagentXkbConfigFilePathSize = strlen(XKB_CONFIG_FILE_X2GO); -+ else -+ nxagentXkbConfigFilePathSize = strlen(XKB_CONFIG_FILE_NX); - - nxagentXkbConfigFilePath = malloc((nxagentXkbConfigFilePathSize + 1) * sizeof(char)); - -@@ -997,7 +1004,10 @@ XkbError: - FatalError("nxagentKeyboardProc: malloc failed."); - } - -- strcpy(nxagentXkbConfigFilePath, XKB_CONFIG_FILE); -+ if (nxagentX2go) -+ nxagentXkbConfigFilePathSize = strlen(XKB_CONFIG_FILE_X2GO); -+ else -+ nxagentXkbConfigFilePathSize = strlen(XKB_CONFIG_FILE_NX); - - #ifdef TEST - fprintf(stderr, "nxagentKeyboardProc: nxagentXkbConfigFilePath [%s].\n", |