diff options
Diffstat (limited to 'debian/patches/999_nxagent_unbrand-nxagent-brand-x2goagent.full.patch')
-rw-r--r-- | debian/patches/999_nxagent_unbrand-nxagent-brand-x2goagent.full.patch | 296 |
1 files changed, 296 insertions, 0 deletions
diff --git a/debian/patches/999_nxagent_unbrand-nxagent-brand-x2goagent.full.patch b/debian/patches/999_nxagent_unbrand-nxagent-brand-x2goagent.full.patch new file mode 100644 index 000000000..7a5ce5437 --- /dev/null +++ b/debian/patches/999_nxagent_unbrand-nxagent-brand-x2goagent.full.patch @@ -0,0 +1,296 @@ +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 nxagentLogoWhite; + int nxagentLogoRed; + int nxagentLogoBlack; ++int nxagentLogoGray; + + void nxagentPaintLogo(Window win, GC gc, int scale, int width, int height); + +@@ -166,6 +168,15 @@ + 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 @@ + 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 +@@ -1403,22 +1403,10 @@ + 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 + +@@ -2673,22 +2661,10 @@ + 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 nxagentLogoWhite; + extern int nxagentLogoRed; + extern int nxagentLogoBlack; ++extern int nxagentLogoGray; + + extern Window nxagentSplashWindow; + |