[X2go-Commits] nx-libs.git - master (branch) updated: redist-server/3.5.0.2-10-g8f76198
X2go dev team
git-admin at x2go.org
Wed Jan 11 17:37:48 CET 2012
The branch, master has been updated
via 8f76198c5012a04ca8b5e10c3f133815008178ba (commit)
via 0d3a820b3ed1f76860cdee8dc0532674d621f1e3 (commit)
via d9d49b5d8606df5d400c34726cdc5fb9cccaa47b (commit)
via 43de8b97236e4fe94d06c2152da732aafaaa32ce (commit)
via fdfed536ce4408e19a0b0e4732e3630cd542c051 (commit)
via 9d99eeb539ccb085dcce4899eed5926f0ea13f92 (commit)
via 6ae3d7efcc0ad028809c69b6a43a19fdd2d9d100 (commit)
via 405bc8f259f230947e5fe8341f0bab8f0f88c678 (commit)
via 19f24873388ce9a2136f8d3fe8145d6ce4576730 (commit)
via 3744795d3c3b526cd2438b6e9423f8f09b372db1 (commit)
from eaea40dec0dc42e78b610837330cf39ca13beb8f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 8f76198c5012a04ca8b5e10c3f133815008178ba
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Wed Jan 11 17:37:45 2012 +0100
Add binary package: x2goagent, includes man page patch: 209_x2goagent-add-man-page.patch
commit 0d3a820b3ed1f76860cdee8dc0532674d621f1e3
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Wed Jan 11 17:34:18 2012 +0100
Revert "Drop patch: 101_nxagent_set-rgb-path.path, add patch: 202_nxagent_set-rgb-path-x2go-flavour-aware.patch."
This reverts commit d9d49b5d8606df5d400c34726cdc5fb9cccaa47b.
commit d9d49b5d8606df5d400c34726cdc5fb9cccaa47b
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Wed Jan 11 17:25:08 2012 +0100
Drop patch: 101_nxagent_set-rgb-path.path, add patch: 202_nxagent_set-rgb-path-x2go-flavour-aware.patch.
commit 43de8b97236e4fe94d06c2152da732aafaaa32ce
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Wed Jan 11 17:03:23 2012 +0100
Add patch: 209_x2goagent-add-man-page.patch.
commit fdfed536ce4408e19a0b0e4732e3630cd542c051
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Wed Jan 11 16:41:26 2012 +0100
Add patch: 023_add-x2goagent-wrapper.patch.
commit 9d99eeb539ccb085dcce4899eed5926f0ea13f92
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Wed Jan 11 16:38:36 2012 +0100
remove copy+paste cruft from debian/patches/999_nxagent_unbrand-nxagent-brand-x2goagent.patch
commit 6ae3d7efcc0ad028809c69b6a43a19fdd2d9d100
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Wed Jan 11 16:38:10 2012 +0100
add EOL at EOF
commit 405bc8f259f230947e5fe8341f0bab8f0f88c678
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Wed Jan 11 16:17:51 2012 +0100
Add X2Go agent / NX agent flavouring via patch system:
- 200_nxagent_check-binary-x2go-flavour.patch
- 201_nxagent_set-x2go-icon-if-x2goagent-flavour.patch
- 300_nxagent_set-wm-class.patch
- 999_nxagent_unbrand-nxagent-brand-x2goagent.patch
commit 19f24873388ce9a2136f8d3fe8145d6ce4576730
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Wed Jan 11 16:15:38 2012 +0100
Drop NX agent unbrand patch from FreeNX.
commit 3744795d3c3b526cd2438b6e9423f8f09b372db1
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Wed Jan 11 15:31:11 2012 +0100
Rename nxagent-unbrand patch, so that is the last patch to be applied (999_<patchname>).
-----------------------------------------------------------------------
Summary of changes:
debian/changelog | 17 ++
debian/control | 24 ++
debian/patches/023_add-x2goagent-wrapper.patch | 27 ++
.../200_nxagent_check-binary-x2go-flavour.patch | 64 +++++
debian/patches/200_nxagent_unbrand-agent.patch | 61 -----
...xagent_set-x2go-icon-if-x2goagent-flavour.patch | 220 ++++++++++++++++
debian/patches/209_x2goagent-add-man-page.patch | 38 +++
debian/patches/300_nxagent_set-wm-class.patch | 60 +++++
...9_nxagent_unbrand-nxagent-brand-x2goagent.patch | 274 ++++++++++++++++++++
debian/patches/series | 8 +-
debian/x2goagent.dirs | 3 +
debian/x2goagent.install | 3 +
debian/x2goagent.links | 1 +
debian/x2goagent.manpages | 1 +
14 files changed, 739 insertions(+), 62 deletions(-)
create mode 100644 debian/patches/023_add-x2goagent-wrapper.patch
create mode 100644 debian/patches/200_nxagent_check-binary-x2go-flavour.patch
delete mode 100644 debian/patches/200_nxagent_unbrand-agent.patch
create mode 100644 debian/patches/201_nxagent_set-x2go-icon-if-x2goagent-flavour.patch
create mode 100644 debian/patches/209_x2goagent-add-man-page.patch
create mode 100644 debian/patches/300_nxagent_set-wm-class.patch
create mode 100644 debian/patches/999_nxagent_unbrand-nxagent-brand-x2goagent.patch
create mode 100644 debian/x2goagent.dirs
create mode 100644 debian/x2goagent.install
create mode 100644 debian/x2goagent.links
create mode 100644 debian/x2goagent.manpages
The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index e0e37b7..81f2d95 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,20 @@
+nx-libs (2:3.5.0.2-1) UNRELEASED; urgency=low
+
+ * Rename nxagent-unbrand patch, so that is the last patch to be applied
+ (999_<patchname>).
+ * Drop NX agent unbrand patch from FreeNX.
+ * Add X2Go agent / NX agent flavouring via patch system:
+ - 200_nxagent_check-binary-x2go-flavour.patch
+ - 201_nxagent_set-x2go-icon-if-x2goagent-flavour.patch
+ - 300_nxagent_set-wm-class.patch
+ - 999_nxagent_unbrand-nxagent-brand-x2goagent.patch
+ * Add patch: 023_add-x2goagent-wrapper.patch.
+ * Add patch: 209_x2goagent-add-man-page.patch.
+ * Add binary package: x2goagent, includes man page
+ patch: 209_x2goagent-add-man-page.patch
+
+ -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de> Wed, 11 Jan 2012 15:30:36 +0100
+
nx-libs (2:3.5.0.2-0) unstable; urgency=low
* Re-add binary wrapper scripts to the patch system as we
diff --git a/debian/control b/debian/control
index 82cf2ae..845e115 100644
--- a/debian/control
+++ b/debian/control
@@ -94,6 +94,30 @@ Description: NX agent
requests locally, ensuring that the most common source of round-trips are
nearly reduced to zero.
+Package: x2goagent
+Architecture: any
+Depends:
+ libnx-x11 (>= ${source:Version}), libnx-x11 (<< ${source:Version}.1~),
+ nxagent (>= ${source:Version})
+ ${shlibs:Depends},
+ ${misc:Depends}
+Suggests:
+ x2goserver
+Description: NX agent
+ X2Go is a software suite that uses NX technology for remote desktop
+ computing.
+ .
+ NX technology implements a very efficient compression of the X11 protocol.
+ This increases performance when using X applications over a network,
+ especially a slow one.
+ .
+ X2Go agent functionality has been completely incorporated into NX agent's
+ code base. If the nxagent binary is executed under the name of `x2goagent',
+ the X2Go functionalities get activated.
+ .
+ The x2goagent package is a wrapper that activates X2Go branding in nxagent.
+ Please refer to the nxagent package's description for more information on NX.
+
Package: nxproxy
Architecture: any
Depends:
diff --git a/debian/patches/023_add-x2goagent-wrapper.patch b/debian/patches/023_add-x2goagent-wrapper.patch
new file mode 100644
index 0000000..ca53fde
--- /dev/null
+++ b/debian/patches/023_add-x2goagent-wrapper.patch
@@ -0,0 +1,27 @@
+--- /dev/null
++++ b/bin/x2goagent
+@@ -0,0 +1,24 @@
++#!/bin/bash
++
++# Copyright (C) 2012 Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
++#
++# This program is free software: you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation, either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see http://www.gnu.org/licenses/.
++
++NX_LIBS=/usr/lib/nx
++LD_LIBRARY_PATH=/usr/lib/nx:/usr/lib/nx/X11:$LD_LIBRARY_PATH
++
++export NX_LIBS
++export LD_LIBRARY_PATH
++
++exec /usr/lib/nx/x2goagent "$@"
diff --git a/debian/patches/200_nxagent_check-binary-x2go-flavour.patch b/debian/patches/200_nxagent_check-binary-x2go-flavour.patch
new file mode 100644
index 0000000..089b570
--- /dev/null
+++ b/debian/patches/200_nxagent_check-binary-x2go-flavour.patch
@@ -0,0 +1,64 @@
+Description: Detect nxagent/x2goagent flavour
+ Whether the agent runs in X2Go or NX mode is decide by the
+ name of the binary that executes the code.
+ .
+ Binary name equal to nxagent -> (Free)NX flavour
+ Binary name equal to x2goagent -> X2Go flavour
+Forwarded: not-needed
+Author: Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
+Last-Update: 2012-01-11
+--- a/nx-X11/programs/Xserver/hw/nxagent/Init.c
++++ b/nx-X11/programs/Xserver/hw/nxagent/Init.c
+@@ -178,6 +178,29 @@
+
+ int nxagentDoFullGeneration = 1;
+
++ /*
++ * 1 if agent running as X2goAgent
++ * 0 if NX Agent
++ */
++int nxagentX2go;
++
++/*
++ * Checking if agent is x2go agent
++ */
++
++void checkX2goAgent()
++{
++ extern const char *__progname;
++ if( strcasecmp(__progname,"x2goagent") == 0)
++ {
++ fprintf(stderr, "\nrunning as X2Go Agent\n");
++ nxagentX2go=1;
++ }
++ else
++ nxagentX2go=0;
++}
++
++
+ /*
+ * Called at X server's initialization.
+ */
+@@ -194,6 +217,11 @@
+ #endif
+
+ /*
++ * Check if we running as X2Go Agent
++ */
++ checkX2goAgent();
++
++ /*
+ * Print our pid and version information.
+ */
+
+--- a/nx-X11/programs/Xserver/hw/nxagent/Init.h
++++ b/nx-X11/programs/Xserver/hw/nxagent/Init.h
+@@ -37,6 +37,8 @@
+ extern int nxagentBackingStore;
+ extern int nxagentSaveUnder;
+
++extern int nxagentX2go;
++
+ extern ServerGrabInfoRec nxagentGrabServerInfo;
+
+ #endif /* __Init_H__ */
diff --git a/debian/patches/200_nxagent_unbrand-agent.patch b/debian/patches/200_nxagent_unbrand-agent.patch
deleted file mode 100644
index c9aea04..0000000
--- a/debian/patches/200_nxagent_unbrand-agent.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-Description: Unbrand NX Agent Startup Screen
- By design this patch is probably not interesting to
- NX upstream.
-Forwarded: not-needed
-Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
-Last-Update: 2012-12-31
---- a/nx-X11/programs/Xserver/hw/nxagent/Screen.c
-+++ b/nx-X11/programs/Xserver/hw/nxagent/Screen.c
-@@ -1754,7 +1754,20 @@
- #ifdef TEST
- fprintf(stderr, "nxagentOpenScreen: Created new default window with id [%ld].\n",
- nxagentDefaultWindows[pScreen->myNum]);
-+
-+ fprintf(stderr, "nxagentOpenScreen: Setting WM_CLASS and WM_NAME for window withid [%ld].\n",
-+ nxagentDefaultWindows[pScreen->myNum]);
- #endif
-+
-+ XClassHint hint;
-+ hint.res_name=malloc(strlen(HINT)+1);
-+ hint.res_class=malloc(strlen(HINT)+1);
-+ strcpy(hint.res_name,HINT);
-+ strcpy(hint.res_class,HINT);
-+ XSetClassHint(nxagentDisplay,nxagentDefaultWindows[pScreen->myNum],&hint);
-+ free(hint.res_name);
-+ free(hint.res_class);
-+
-
- if (nxagentOption(Fullscreen))
- {
---- a/nx-X11/programs/Xserver/hw/nxagent/Screen.h
-+++ b/nx-X11/programs/Xserver/hw/nxagent/Screen.h
-@@ -36,6 +36,8 @@
- #define MIN_NXAGENT_HEIGHT 60
- #define NXAGENT_FRAME_WIDTH 2000
-
-+#define HINT "NXAgent"
-+
- #define nxagentSetPrintGeometry(screen) \
- nxagentPrintGeometryFlags = (1 << (screen));
-
---- a/nx-X11/programs/Xserver/hw/nxagent/Splash.c
-+++ b/nx-X11/programs/Xserver/hw/nxagent/Splash.c
-@@ -204,6 +204,7 @@
-
- nxagentPixmapLogo = XCreatePixmap(nxagentDisplay, win, width, height, nxagentLogoDepth);
-
-+ return;
- if (!nxagentPixmapLogo)
- {
- return;
---- a/nx-X11/programs/Xserver/hw/nxagent/Display.c
-+++ b/nx-X11/programs/Xserver/hw/nxagent/Display.c
-@@ -1919,7 +1919,7 @@
- XlibPixmap IconPixmap;
- XlibPixmap IconShape;
-
-- snprintf(default_path, PATH_MAX-1, "/usr/NX/share/images/%s", NXAGENT_ICON_NAME);
-+ snprintf(default_path, PATH_MAX-1, "/usr/share/pixmaps/%s", NXAGENT_ICON_NAME);
-
- if ((icon_fp = fopen(default_path, "r")) == NULL)
- {
diff --git a/debian/patches/201_nxagent_set-x2go-icon-if-x2goagent-flavour.patch b/debian/patches/201_nxagent_set-x2go-icon-if-x2goagent-flavour.patch
new file mode 100644
index 0000000..ff3861d
--- /dev/null
+++ b/debian/patches/201_nxagent_set-x2go-icon-if-x2goagent-flavour.patch
@@ -0,0 +1,220 @@
+Description: X2Go icon when run with x2goagent flavour
+ Depending on the binary name of the agent either nxagent.xpm
+ or x2go.xpm is used as window icon.
+Forwarded: not-needed
+Author: Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
+Last-Update: 2012-01-11
+--- a/nx-X11/programs/Xserver/hw/nxagent/Display.c 2012-01-11 10:09:05.000000000 +0100
++++ b/nx-X11/programs/Xserver/hw/nxagent/Display.c 2012-01-11 12:28:11.000000000 +0100
+@@ -77,6 +77,7 @@ is" without express or implied warranty.
+ #include "NXlib.h"
+
+ #include NXAGENT_ICON_NAME
++#include X2GOAGENT_ICON_NAME
+
+ /*
+ * Set here the required log level.
+@@ -1918,12 +1919,29 @@ Bool nxagentMakeIcon(Display *display, P
+ Bool success = False;
+ XlibPixmap IconPixmap;
+ XlibPixmap IconShape;
++ char* agent_icon_name;
++ char* agentIconData;
+
+- snprintf(default_path, PATH_MAX-1, "/usr/NX/share/images/%s", NXAGENT_ICON_NAME);
++ /*
++ * selecting x2go icon when running as X2Go agent
++ */
++ if(nxagentX2go)
++ {
++ agent_icon_name=X2GOAGENT_ICON_NAME;
++ agentIconData=x2goagentIconData;
++ }
++ else
++ {
++ agent_icon_name=NXAGENT_ICON_NAME;
++ agentIconData=nxagentIconData;
++ }
++
++
++ snprintf(default_path, PATH_MAX-1, "/usr/NX/share/images/%s", agent_icon_name);
+
+ if ((icon_fp = fopen(default_path, "r")) == NULL)
+ {
+- icon_fp = nxagentLookForIconFile(NXAGENT_ICON_NAME, "r", icon_path);
++ icon_fp = nxagentLookForIconFile(agent_icon_name, "r", icon_path);
+
+ if (icon_fp != NULL)
+ {
+@@ -1962,7 +1980,7 @@ Bool nxagentMakeIcon(Display *display, P
+ {
+ status = XpmCreatePixmapFromData(display,
+ DefaultRootWindow(display),
+- nxagentIconData,
++ agentIconData,
+ &IconPixmap,
+ &IconShape,
+ NULL);
+--- a/nx-X11/programs/Xserver/hw/nxagent/Icons.h 2012-01-11 10:09:05.000000000 +0100
++++ b/nx-X11/programs/Xserver/hw/nxagent/Icons.h 2012-01-11 12:17:21.000000000 +0100
+@@ -24,6 +24,8 @@
+
+ #define NXAGENT_ICON_NAME "nxagent.xpm"
+
++#define X2GOAGENT_ICON_NAME "x2go.xpm"
++
+ #define NXAGENT_PLACEHOLDER_NAME "nxmissing.xpm"
+
+ #endif /* __Icons_H__ */
+--- a/nx-X11/programs/Xserver/hw/nxagent/x2go.xpm 1970-01-01 01:00:00.000000000 +0100
++++ b/nx-X11/programs/Xserver/hw/nxagent/x2go.xpm 2012-01-11 12:26:24.000000000 +0100
+@@ -0,0 +1,148 @@
++/* XPM */
++static char *x2goagentIconData[]={
++"128 128 17 1",
++". c None",
++"m c #323232",
++"l c #323232",
++"f c #323232",
++"e c #323232",
++"o c #323232",
++"# c #323232",
++"h c #323232",
++"i c #323232",
++"n c #323232",
++"d c #323232",
++"a c #323232",
++"g c #323232",
++"j c #323232",
++"b c #323232",
++"k c #323232",
++"c c #323232",
++".....#abccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbde.....",
++"...fbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccgf...",
++"..#ccccaheeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeijccckf..",
++".ecccgl..................................................................................................................ejcckf.",
++".bccd.....................................................................................................................mdccg.",
++"#cca.......................................................................................................................mjcce",
++"gckm........................................................................................................................eccd",
++"ccn..........................................................................................................................jcb",
++"cce..........................................................................................................................icc",
++"ccm..........................................................................................................................ecc",
++"cc...........................................................................................................................ecc",
++"cc...........................................................................................................................ecc",
++"cc...........................................................................................................................ecc",
++"cc...........................................................................................................................ecc",
++"cc............................................meeee..........................................................................ecc",
++"cc.........eeeeeeeeoiiiiiiiinggggggggjccccccccccccc....#ggggggggggggggggggggggggggggf.............ggggggggggggggggggggggf....ecc",
++"cc....meeeeoiiiiiiiinggggggggjccccccccccccccccccccc....icccccccccccccccccccccccccccce.............cccccccccccccccccccccce....ecc",
++"cc....................................meeeeeeeeoiii....icccccccccccccccccccccccccccce.............cccccccccccccccccccccce....ecc",
++"cc.......................................................menbccccccccccccccccccbhe..................logccccccccccccghe.......ecc",
++"cc...........................................................iccccccccccccccccdm.......................#cccccccccke..........ecc",
++"cc..............................................lee...........#cccccccccccccckm.........................jccccccckm...........ecc",
++"cc........feeeeeeeeoiiiiiiiiiaggggggggjcccccccccccc............icccccccccccccd..........................icccccccf............ecc",
++"cc....meeeeeoiiiiiiiinggggggggjcccccccccccccccccccciiiiii#m.....jcccccccccccci..........................icccccci.............ecc",
++"cc......................................eeeeeeeeeiiiiiiiiigl....eccccccccccccd..........................dcccccj..............ecc",
++"cc...............................................................dcccccccccccj..........................bccccce..............ecc",
++"cc...............................................................lccccccccccccl........................lccccca...............ecc",
++"cc.............................................meeeeeeee#iiiie....dccccccccccch........................icccccl...............ecc",
++"cc.........meeeeeeeeoiiiiiiiinggggggggjccccccccccccccccccccccb....ecccccccccccb........................bccccn................ecc",
++"cc....meeeeiiiiiiiiiaggggggggbcccccccccccccccccccccccccccccccc#....gccccccccccco......................#cccckm................ecc",
++"cc....................................meeeeeeeeeiiiiiiiiiaggggd....#cccccccccccg......................bcccci.................ecc",
++"cc..................................................................bcccccccccccf....................#cccckm.................ecc",
++"cc..................................................................hcccccccccccd...................mkcccci..................ecc",
++"cc............................................meeeeeeeeoiiiiiiiil...mkcccccccccccl..................icccckm..................ecc",
++"cc.........eeeeeeeeoiiiiiiiinggggggggjccccccccccccccccccccccccccn....dccccccccccci.................mkcccci...................ecc",
++"cc....meeeeeiiiiiiiiiaggggggggbccccccccccccccccccccccccccccccccckm...lccccccccccck.................icccckm...................ecc",
++"cc.....................................leeeeeeeeoiiiiiiiiigggggggo....accccccccccc#...............mkcccch....................ecc",
++"cc....................................................................ecccccccccccb...............iccccb.....................ecc",
++"cc.....................................................................jccccccccccce.............mkcccc#.....................ecc",
++"cc.............................................meeeeeeeeehiiiiiiii#....#ccccccccccca.............nccccb......................ecc",
++"cc........feeeeeeee#iiiiiiiiigggggggggkccccccccccccccccccccccccccccl....kcccccccccccl...........lccccc#......................ecc",
++"cc....meeeeeoiiiiiiiiigggggggggkcccccccccccccccccccccccccccccccccccd....icccccccccccd...........dccccb.......................ecc",
++"cc......................................leeeeeeeeoiiiiiiiingggggggga....mccccccccccckm.........lccccc#.......................ecc",
++"cc.......................................................................dccccccccccch.........dccccb........................ecc",
++"cc.......................................................................lcccccccccccb........lccccc#........................ecc",
++"cc.............................................meeeeeeeeoiiiiiiiingggo....gccccccccccc#.......dccccg.........................ecc",
++"cc.........meeeeeeeeoiiiiiiiinggggggggjccccccccccccccccccccccccccccccg....occcccccccccg......lccccce.........................ecc",
++"cc....meeeeiiiiiiiiiaggggggggbcccccccccccccccccccccccccccccccccccccccce....bccccccccccce.....gccccg..........................ecc",
++"cc....................................meeeeeeeeeiiiiiiiiigggggggggkcccd....#cccccccccccd....eccccce..........................ecc",
++"cc.........................................................................mkcccccccccccl...gccccg...........................ecc",
++"cc..........................................................................nccccccccccci..eccccce...........................ecc",
++"cc............................................meeeeeeeeoiiiiiiiingggggggm...lccccccccccckm.gccccg............................ecc",
++"cc.........eeeeeeeeoiiiiiiiinggggggggjcccccccccccccccccccccccccccccccccc#....dccccccccccc#eccccce............................ecc",
++"cc....meeeeeiiiiiiiiiaggggggggkcccccccccccccccccccccccccccccccccccccccccb....ecccccccccccbgccccg.............................ecc",
++"cc.....................................leeeeeeeeoiiiiiiiiigggggggggkccccco....gccccccccccccccccl.............................ecc",
++"cc............................................................................#cccccccccccccccd..............................ecc",
++"cc.............................................................................bccccccccccccccl..............................ecc",
++"cc.............................................leeeeeeeeeiiiiiiiiiagggggggi....icccccccccccccd...............................ecc",
++"cc........feeeeeeee#iiiiiiiingggggggggkccccccccccccccccccccccccccccccccccckm...mkccccccccccccl...............................ecc",
++"cc....meeeeeoiiiiiiiiigggggggggkccccccccccccccccccccccccccccccccccccccccccci....dccccccccccca................................ecc",
++"cc......................................leeeeeeeeoiiiiiiiiigggggggggccccccck....lccccccccccckm...............................ecc",
++"cc...............................................................................accccccccccc#...............................ecc",
++"cc...............................................................................ecccccccccccb...............................ecc",
++"cc............................................leeeeeeeeeiiiiiiiiiaggggggggbcce....bccccccccccce..............................ecc",
++"cc.......feeeeeeee#iiiiiiiiigggggggggkcccccccccccccccccccccccccccccccccccccccd....#cccccccccccg..............................ecc",
++"cc....meeeeeeoiiiiiiiingggggggggccccccccccccccccccccccccccccccccccccccccccccccl....kcccccccccccl.............................ecc",
++"cc.......................................feeeeeeeehiiiiiiiidggggggggbccccccccci....ncccccccccccd.............................ecc",
++"cc...........................................................................mm....bccccccccccccm............................ecc",
++"cc................................................................................#ccccccccccccci............................ecc",
++"cc..........................................leeeeeeee#iiiiiiiidggggggggbcccccl....bccccccccccccck............................ecc",
++"cc......feeeeeeeehiiiiiiiiaggggggggkccccccccccccccccccccccccccccccccccccccccd....#ccccccccccccccc#...........................ecc",
++"cc....meeeeeee#iiiiiiiidggggggggjcccccccccccccccccccccccccccccccccccccccccccl....bcccccccccccccccb...........................ecc",
++"cc.......................................meeeeeeeeeiiiiiiiiigggggggggkcccccd....#cccccbccccccccccce..........................ecc",
++"cc..............................................................................bccccdhcccccccccccg..........................ecc",
++"cc.............................................................................#ccccclmkcccccccccccl.........................ecc",
++"cc..........................................meeeeeeeeeiiiiiiiiiaggggggggbkm....bccccd..ncccccccccccd.........................ecc",
++"cc.....leeeeeeeeoiiiiiiiiigggggggggkccccccccccccccccccccccccccccccccccccci....hcccckl..lccccccccccccm........................ecc",
++"cc....meeeeeeeehiiiiiiiidggggggggbcccccccccccccccccccccccccccccccccccccckm...mkcccci....dccccccccccci........................ecc",
++"cc........................................leeeeeeee#iiiiiiiinggggggggjcci....icccckm....eccccccccccck........................ecc",
++"cc..........................................................................mkcccci......gccccccccccc#.......................ecc",
++"cc..........................................................................icccckm......#cccccccccccb.......................ecc",
++"cc.........................................leeeeeeeeoiiiiiiiiigggggggga....mkcccci........bccccccccccce......................ecc",
++"cc....meeeeeeeeoiiiiiiiiigggggggggkccccccccccccccccccccccccccccccccccci....icccckm........hcccccccccccg......................ecc",
++"cc.....feeeeeeeehiiiiiiiiaggggggggkcccccccccccccccccccccccccccccccccckm...mkcccci.........mkcccccccccccl.....................ecc",
++"cc.........................................feeeeeeeehiiiiiiiiagggggggh....icccckm..........icccccccccccd.....................ecc",
++"cc.......................................................................mkcccci...........lccccccccccccm....................ecc",
++"cc.......................................................................icccckm............dccccccccccci....................ecc",
++"cc...........................................eeeeeeeeehiiiiiiiidggga....mkcccci.............fccccccccccck....................ecc",
++"cc......feeeeeeee#iiiiiiiingggggggggccccccccccccccccccccccccccccccci....iccccb...............gccccccccccc#...................ecc",
++"cc....meeeeeeeoiiiiiiiiigggggggggbcccccccccccccccccccccccccccccccckm...mkcccc#...............occcccccccccb...................ecc",
++"cc........................................meeeeeeeeeiiiiiiiiidgggg#....iccccb.................bccccccccccce..................ecc",
++"cc....................................................................mkcccc#.................#cccccccccccg..................ecc",
++"cc....................................................................iccccb..................mkcccccccccccl.................ecc",
++"cc..........................................eeeeeeeeeiiiiiiiiiaga....mkcccc#...................icccccccccccd.................ecc",
++"cc.....leeeeeeee#iiiiiiiinggggggggjccccccccccccccccccccccccccccci....iccccb....................lccccccccccccm................ecc",
++"cc....meeeeeeee#iiiiiiiiigggggggggkcccccccccccccccccccccccccccckm...mkcccc#.....................dccccccccccci................ecc",
++"cc.........................................leeeeeeeeoiiiiiiiiiah....iccccb......................lccccccccccck................ecc",
++"cc.................................................................mkcccc#.......................gccccccccccc#...............ecc",
++"cc.................................................................dccccj........................ecccccccccccj...............ecc",
++"cc..........................................leeeeeeeeeiiiiiiih....lccccce.........................bccccccccccce..............ecc",
++"cc....meeeeeeeeeiiiiiiiiidgggggggggcccccccccccccccccccccccccci....dccccg..........................#ccccccccccca..............ecc",
++"cc.....feeeeeeeeiiiiiiiinggggggggbcccccccccccccccccccccccccckm...lccccce...........................kcccccccccccl.............ecc",
++"cc........................................leeeeeeeehiiiiiiiih....dccccg............................ncccccccccccd.............ecc",
++"cc..............................................................lccccce............................fccccccccccccf............ecc",
++"cc..............................................................dccccb..............................jcccccccccccg............ecc",
++"cc.........................................meeeeeeeeoiiiiil....lcccccn..............................icccccccccccce...........ecc",
++"cc......feeeeeeeehiiiiiiiigggggggggccccccccccccccccjgggggo.....gccccc#..............................eccccccccccccbm..........ecc",
++"cc....meeeeeeeoiiiiiiiiidgggggggggccccccccccccccccc...........hcccccco...............................cccccccccccccn..........ecc",
++"cc.........................................leeeeeee..........ecccccccn..............................lcccccccccccccc#.........ecc",
++"cc..........................................................#kccccccckf.............................nccccccccccccccc#........ecc",
++"cc........................................................ldcccccccccck#m.........................lncccccccccccccccccdl......ecc",
++"cc.........................................feeeeeee....ogjcccccccccccccccggi..................oggbcccccccccccccccccccccja....ecc",
++"cc.....leeeeeeee#iiiiiiiidggggggggbcccccccccccccccc....icccccccccccccccccccg..................icccccccccccccccccccccccccc....ecc",
++"cc....meeeeeeeehiiiiiiiiaggggggggkccccccccccccccccc....icccccccccccccccccccg..................icccccccccccccccccccccccccc....ecc",
++"cc........................................feeeeeeee..........................................................................ecc",
++"cc...........................................................................................................................ecc",
++"cc...........................................................................................................................ecc",
++"cc...........................................................................................................................ecc",
++"cc...........................................................................................................................ecc",
++"cc...........................................................................................................................ecc",
++"cce..........................................................................................................................hcc",
++"ccn..........................................................................................................................acb",
++"jcb.........................................................................................................................lcca",
++"hcci........................................................................................................................acc#",
++"mkcc#......................................................................................................................dccb.",
++".occci...................................................................................................................macccf.",
++"..#cccbne.............................................................................................................menkccc#..",
++"...okccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbe...",
++"....mhjccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccg#....."};
+
diff --git a/debian/patches/209_x2goagent-add-man-page.patch b/debian/patches/209_x2goagent-add-man-page.patch
new file mode 100644
index 0000000..00ade43
--- /dev/null
+++ b/debian/patches/209_x2goagent-add-man-page.patch
@@ -0,0 +1,38 @@
+--- /dev/null
++++ b/nx-X11/programs/Xserver/hw/nxagent/man/x2goagent.1
+@@ -0,0 +1,35 @@
++.TH x2goagent 1
++.SH NAME
++x2goagent \- X2Go Agent.
++.SH SYNOPSIS
++.B x2goagent
++.I "[options]"
++
++.SH DESCRIPTION
++\fBx2goagent\fR is an Xnest-like X server for remote application/desktop access.
++.PP
++\fBx2goagent\fR implements a very efficient compression of the X11 protocol.
++.PP
++This increases performance when using X applications over high latency and
++low bandwidth networks, while providing a local (LAN-like) usage experience
++even if connecting from off-site locations (via cable modem or GSM).
++.PP
++\fBx2goagent\fR is not designed to be used as a standalone application.
++It has to be launched on the server side by the X2Go server software.
++.PP
++Available clients are
++\fBx2goclient\fR, \fBpyhoca-gui\fR and \fBpyhoca-gui\fR (using the
++Python X2Go API).
++
++.SH OPTIONS
++.TP
++.B \--help
++Lists all others options that are not listed here.
++
++.SH FURTHER READINGS
++Information on X2Go: http://wiki.x2go.org
++.PP
++Information on NX: http://www.nomachine.com
++
++.SH AUTHOR
++This manual page was written by Mike Gabriel <mike.gabriel at das-netzwerkteam.de>.
diff --git a/debian/patches/300_nxagent_set-wm-class.patch b/debian/patches/300_nxagent_set-wm-class.patch
new file mode 100644
index 0000000..765d6bc
--- /dev/null
+++ b/debian/patches/300_nxagent_set-wm-class.patch
@@ -0,0 +1,60 @@
+Description: Set WM_CLASS to X2GoAgent/NXAgent
+ Depending on the binary name of the agent either NXAgent
+ or X2GoAgent is set as WM_Class.
+ .
+ This is needed for some window managers (like the one shipped with
+ Maemo)
+ .
+ The original WM_CLASS patch has been taken from the FreeNX patch
+ series, author unknown.
+ .
+ The nxagent/x2goagent has been done by the X2Go Project, author
+ see below.
+Forwarded: not-needed
+Author: Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
+Last-Update: 2012-01-11
+--- a/nx-X11/programs/Xserver/hw/nxagent/Screen.c
++++ b/nx-X11/programs/Xserver/hw/nxagent/Screen.c
+@@ -1756,6 +1756,42 @@
+ nxagentDefaultWindows[pScreen->myNum]);
+ #endif
+
++ /*
++ * Setting WM_CLASS to "X2GoAgent" when running in X2Go Agent mode
++ * we need it to properly display all window parameters by some WMs
++ * (for example on Maemo)
++ */
++ if(nxagentX2go)
++ {
++ #ifdef TEST
++ fprintf(stderr, "nxagentOpenScreen: Setting WM_CLASS and WM_NAME for window withid [%ld].\n",
++ nxagentDefaultWindows[pScreen->myNum]);
++ #endif
++ XClassHint hint;
++ hint.res_name=malloc(strlen("X2GoAgent")+1);
++ hint.res_class=malloc(strlen("X2GoAgent")+1);
++ strcpy(hint.res_name,"X2GoAgent");
++ strcpy(hint.res_class,"X2GoAgent");
++ XSetClassHint(nxagentDisplay,nxagentDefaultWindows[pScreen->myNum],&hint);
++ free(hint.res_name);
++ free(hint.res_class);
++ } else {
++ #ifdef TEST
++ fprintf(stderr, "nxagentOpenScreen: Setting WM_CLASS and WM_NAME for window withid [%ld].\n",
++ nxagentDefaultWindows[pScreen->myNum]);
++ #endif
++
++ XClassHint hint;
++ hint.res_name=malloc(strlen("NXAgent")+1);
++ hint.res_class=malloc(strlen("NXAgent")+1);
++ strcpy(hint.res_name,"NXAgent");
++ strcpy(hint.res_class,"NXAgent");
++ XSetClassHint(nxagentDisplay,nxagentDefaultWindows[pScreen->myNum],&hint);
++ free(hint.res_name);
++ free(hint.res_class);
++ }
++
++
+ if (nxagentOption(Fullscreen))
+ {
+ nxagentFullscreenWindow = nxagentDefaultWindows[pScreen->myNum];
diff --git a/debian/patches/999_nxagent_unbrand-nxagent-brand-x2goagent.patch b/debian/patches/999_nxagent_unbrand-nxagent-brand-x2goagent.patch
new file mode 100644
index 0000000..54e5996
--- /dev/null
+++ b/debian/patches/999_nxagent_unbrand-nxagent-brand-x2goagent.patch
@@ -0,0 +1,274 @@
+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 at 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/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;
+
+--- a/nx-X11/programs/Xserver/hw/nxagent/Display.c
++++ b/nx-X11/programs/Xserver/hw/nxagent/Display.c
+@@ -1408,6 +1408,7 @@
+ nxagentLogoBlack = 0x000000;
+ nxagentLogoRed = 0xff0000;
+ nxagentLogoWhite = 0xffffff;
++ nxagentLogoGray = 0x222222;
+ }
+ else
+ {
+@@ -1418,6 +1419,7 @@
+ nxagentLogoRed = nxagentLogoColor(0xff0000);
+ nxagentLogoBlack = nxagentLogoColor(0x000000);
+ nxagentLogoWhite = 0xffffff;
++ nxagentLogoGray = nxagentLogoColor(0x222222);
+ }
+
+ #ifdef WATCH
+@@ -2678,6 +2680,7 @@
+ nxagentLogoBlack = 0x000000;
+ nxagentLogoRed = 0xff0000;
+ nxagentLogoWhite = 0xffffff;
++ nxagentLogoGray = 0x222222;
+ }
+ else
+ {
+@@ -2688,6 +2691,7 @@
+ nxagentLogoRed = nxagentLogoColor(0xff0000);
+ nxagentLogoBlack = nxagentLogoColor(0x000000);
+ nxagentLogoWhite = 0xffffff;
++ nxagentLogoGray = nxagentLogoColor(0x222222);
+ }
+
+ useXpmIcon = nxagentMakeIcon(nxagentDisplay, &nxagentIconPixmap, &nxagentIconShape);
diff --git a/debian/patches/series b/debian/patches/series
index a02a19b..26d3ee8 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -20,6 +20,7 @@
020_add-nxagent-wrapper.patch
021_add-nxauth-wrapper.patch
022_add-nxproxy-wrapper.patch
+023_add-x2goagent-wrapper.patch
101_nxagent_set-rgb-path.patch
102_xserver-xext_set-securitypolicy-path.patch
103_nxagent_set-X0-config-path.patch
@@ -29,4 +30,9 @@
108_nxagent_wine-close-delay.patch
109_nxagent_locale-utf8-compound-text.patch
110_nxagent_createpixmap-bounds-check.patch
-200_nxagent_unbrand-agent.patch
+200_nxagent_check-binary-x2go-flavour.patch
+201_nxagent_set-x2go-icon-if-x2goagent-flavour.patch
+209_x2goagent-add-man-page.patch
+300_nxagent_set-wm-class.patch
+999_nxagent_unbrand-nxagent-brand-x2goagent.patch
+
diff --git a/debian/x2goagent.dirs b/debian/x2goagent.dirs
new file mode 100644
index 0000000..042e97d
--- /dev/null
+++ b/debian/x2goagent.dirs
@@ -0,0 +1,3 @@
+usr/bin
+usr/lib/nx
+usr/share/x2go
\ No newline at end of file
diff --git a/debian/x2goagent.install b/debian/x2goagent.install
new file mode 100644
index 0000000..8fa8af8
--- /dev/null
+++ b/debian/x2goagent.install
@@ -0,0 +1,3 @@
+bin/x2goagent usr/bin
+debian/rgb usr/share/x2go
+nx-X11/programs/Xserver/hw/nxagent/x2go.xpm usr/share/pixmaps
\ No newline at end of file
diff --git a/debian/x2goagent.links b/debian/x2goagent.links
new file mode 100644
index 0000000..48b2ea5
--- /dev/null
+++ b/debian/x2goagent.links
@@ -0,0 +1 @@
+usr/lib/nx/nxagent usr/lib/x2go/x2goagent
diff --git a/debian/x2goagent.manpages b/debian/x2goagent.manpages
new file mode 100644
index 0000000..2a8850e
--- /dev/null
+++ b/debian/x2goagent.manpages
@@ -0,0 +1 @@
+nx-X11/programs/Xserver/hw/nxagent/man/x2goagent.1
hooks/post-receive
--
nx-libs.git (NX libraries (redistributed))
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "nx-libs.git" (NX libraries (redistributed)).
More information about the x2go-commits
mailing list