aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2011-12-29 09:57:30 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2011-12-29 09:57:30 +0100
commit89fea92798d1823bea3991889be4c938043a72ef (patch)
tree201d0b7a5eb63555657914437219d68c356d62c6
parentdd287a5c8e01cbdab17c94016cf74f9c92205e13 (diff)
downloadnx-libs-89fea92798d1823bea3991889be4c938043a72ef.tar.gz
nx-libs-89fea92798d1823bea3991889be4c938043a72ef.tar.bz2
nx-libs-89fea92798d1823bea3991889be4c938043a72ef.zip
Add FreeNX patches for nxagent (some with other names compared to FreeNX):
- 101_nxagent_set-rgb-path.patch - 102_xserver-xext_set-securitypolicy-path.patch - 103_nxagent_set-X0-config-path.patch - 104_nxagent_enable_debug.patch - 105_nxagent_export-remote-keyboard-config.patch - 106_nxagent_utf8-copy-clipboard.patch - 107_nxagent_clipboard-compound-text+small-bed-sheets.patch - 108_nxagent_wine-close-delay.patch - 109_nxagent_locale-utf8-compound-text.patch - 200_nxagent_unbrand-agent.patch
-rw-r--r--debian/changelog11
-rw-r--r--debian/libnx-x11.dirs1
-rw-r--r--debian/libnx-x11.install4
-rw-r--r--debian/nxagent.dirs1
-rw-r--r--debian/nxagent.install3
-rw-r--r--debian/nxagent.keyboard1
-rw-r--r--debian/patches/101_nxagent_set-rgb-path.patch16
-rw-r--r--debian/patches/102_xserver-xext_set-securitypolicy-path.patch16
-rw-r--r--debian/patches/103_nxagent_set-X0-config-path.patch32
-rw-r--r--debian/patches/104_nxagent_enable_debug.patch17
-rw-r--r--debian/patches/105_nxagent_export-remote-keyboard-config.patch79
-rw-r--r--debian/patches/106_nxagent_utf8-copy-clipboard.patch45
-rw-r--r--debian/patches/107_nxagent_clipboard-compound-text+small-bed-sheets.patch40
-rw-r--r--debian/patches/108_nxagent_wine-close-delay.patch53
-rw-r--r--debian/patches/109_nxagent_locale-utf8-compound-text.patch118
-rw-r--r--debian/patches/200_nxagent_unbrand-agent.patch55
-rw-r--r--debian/rgb754
17 files changed, 1243 insertions, 3 deletions
diff --git a/debian/changelog b/debian/changelog
index 5d0dac27c..4d21afede 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,17 @@ nx-libs (2:3.5.0-0~x2go2) UNRELEASED; urgency=low
* Add individual watch files for NX components in this source package.
* Change naming scheme of patch files.
* Add man page for nxagent. Fix lintian warning: binary-without-manpage.
+ * Add FreeNX patches for nxagent (some with other names compared to FreeNX):
+ - 101_nxagent_set-rgb-path.patch
+ - 102_xserver-xext_set-securitypolicy-path.patch
+ - 103_nxagent_set-X0-config-path.patch
+ - 104_nxagent_enable_debug.patch
+ - 105_nxagent_export-remote-keyboard-config.patch
+ - 106_nxagent_utf8-copy-clipboard.patch
+ - 107_nxagent_clipboard-compound-text+small-bed-sheets.patch
+ - 108_nxagent_wine-close-delay.patch
+ - 109_nxagent_locale-utf8-compound-text.patch
+ - 200_nxagent_unbrand-agent.patch
-- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Wed, 28 Dec 2011 19:06:26 +0100
diff --git a/debian/libnx-x11.dirs b/debian/libnx-x11.dirs
index 4e721e754..fb609cc87 100644
--- a/debian/libnx-x11.dirs
+++ b/debian/libnx-x11.dirs
@@ -1 +1,2 @@
usr/lib/nx/X11
+usr/share/nx
diff --git a/debian/libnx-x11.install b/debian/libnx-x11.install
index 9dda743e8..7838d089f 100644
--- a/debian/libnx-x11.install
+++ b/debian/libnx-x11.install
@@ -1,2 +1,2 @@
-nx-X11/.build-exports/lib/* usr/lib/nx/X11
-
+nx-X11/.build-exports/lib/* usr/lib/nx/X11
+nx-X11/programs/Xserver/Xext/SecurityPolicy usr/share/nx
diff --git a/debian/nxagent.dirs b/debian/nxagent.dirs
index 4330badaf..25db3d713 100644
--- a/debian/nxagent.dirs
+++ b/debian/nxagent.dirs
@@ -1,2 +1,3 @@
usr/bin
usr/lib/nx
+usr/share/nx \ No newline at end of file
diff --git a/debian/nxagent.install b/debian/nxagent.install
index 9d06d5a77..fdcc8b0f9 100644
--- a/debian/nxagent.install
+++ b/debian/nxagent.install
@@ -1,3 +1,4 @@
nx-X11/programs/Xserver/nxagent usr/lib/nx
bin/nxagent usr/bin
-
+debian/rgb usr/share/nx
+debian/nxagent.keyboard etc/nxagent
diff --git a/debian/nxagent.keyboard b/debian/nxagent.keyboard
new file mode 100644
index 000000000..afe283260
--- /dev/null
+++ b/debian/nxagent.keyboard
@@ -0,0 +1 @@
+rules=xfree86
diff --git a/debian/patches/101_nxagent_set-rgb-path.patch b/debian/patches/101_nxagent_set-rgb-path.patch
new file mode 100644
index 000000000..db4116884
--- /dev/null
+++ b/debian/patches/101_nxagent_set-rgb-path.patch
@@ -0,0 +1,16 @@
+## dpatch by <marceloshima@gmail.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Change the path to the keyboard configuration file
+
+--- a/programs/Xserver/os/oscolor.c
++++ b/programs/Xserver/os/oscolor.c
+@@ -53,7 +53,7 @@
+ #include <sys/stat.h>
+ #include <unistd.h>
+
+-static char* nxAltRgbPaths[] = {"/usr/NX/share/rgb", "/usr/share/X11/rgb", "/etc/X11/rgb"};
++static char* nxAltRgbPaths[] = {"/usr/share/nx/rgb", "/usr/NX/share/rgb", "/usr/share/X11/rgb", "/etc/X11/rgb"};
+ static char _NXRgbPath[1024];
+
+ #endif
diff --git a/debian/patches/102_xserver-xext_set-securitypolicy-path.patch b/debian/patches/102_xserver-xext_set-securitypolicy-path.patch
new file mode 100644
index 000000000..c0978c9ee
--- /dev/null
+++ b/debian/patches/102_xserver-xext_set-securitypolicy-path.patch
@@ -0,0 +1,16 @@
+## dpatch by <marceloshima@gmail.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Change the path to the keyboard configuration file
+
+--- a/programs/Xserver/Xext/security.c
++++ b/programs/Xserver/Xext/security.c
+@@ -86,7 +86,7 @@
+
+ #ifdef NXAGENT_SERVER
+
+-#define NX_ALTERNATIVEPOLICYFILE "/usr/lib/xserver/SecurityPolicy"
++#define NX_ALTERNATIVEPOLICYFILE "/usr/share/nx/SecurityPolicy"
+
+ #endif
+
diff --git a/debian/patches/103_nxagent_set-X0-config-path.patch b/debian/patches/103_nxagent_set-X0-config-path.patch
new file mode 100644
index 000000000..326c91b57
--- /dev/null
+++ b/debian/patches/103_nxagent_set-X0-config-path.patch
@@ -0,0 +1,32 @@
+--- a/nxagent/programs/Xserver/hw/nxagent/Keyboard.c
++++ b/nxagent/programs/Xserver/hw/nxagent/Keyboard.c
+@@ -136,7 +136,7 @@
+ #define XKB_ALTERNATE_BASE_DIRECTORY "/usr/X11R6/lib/X11/xkb"
+ #endif
+ #ifndef XKB_CONFIG_FILE
+-#define XKB_CONFIG_FILE "X0-config.keyboard"
++#define XKB_CONFIG_FILE "/etc/nxagent/nxagent.keyboard"
+ #endif
+ #ifndef XKB_DFLT_RULES_FILE
+ #define XKB_DFLT_RULES_FILE "xfree86"
+@@ -978,8 +978,7 @@
+
+ XkbGetControls(nxagentDisplay, XkbAllControlsMask, xkb);
+
+- nxagentXkbConfigFilePathSize = strlen(XkbBaseDirectory) +
+- strlen(XKB_CONFIG_FILE) + 1;
++ nxagentXkbConfigFilePathSize = strlen(XKB_CONFIG_FILE);
+
+ nxagentXkbConfigFilePath = malloc((nxagentXkbConfigFilePathSize + 1) * sizeof(char));
+
+@@ -988,9 +987,7 @@
+ FatalError("nxagentKeyboardProc: malloc failed.");
+ }
+
+- strcpy(nxagentXkbConfigFilePath, XkbBaseDirectory);
+- strcat(nxagentXkbConfigFilePath, "/");
+- strcat(nxagentXkbConfigFilePath, XKB_CONFIG_FILE);
++ strcpy(nxagentXkbConfigFilePath, XKB_CONFIG_FILE);
+
+ #ifdef TEST
+ fprintf(stderr, "nxagentKeyboardProc: nxagentXkbConfigFilePath [%s].\n",
diff --git a/debian/patches/104_nxagent_enable_debug.patch b/debian/patches/104_nxagent_enable_debug.patch
new file mode 100644
index 000000000..6debbaf91
--- /dev/null
+++ b/debian/patches/104_nxagent_enable_debug.patch
@@ -0,0 +1,17 @@
+## 90_enable_debug.dpatch by <marceloshima@gmail.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+--- a/nxagent/programs/Xserver/hw/nxagent/Imakefile 2010-09-17 14:49:52.000000000 +0200
++++ b/nxagent/programs/Xserver/hw/nxagent/Imakefile 2010-09-17 15:02:43.113911514 +0200
+@@ -205,7 +205,8 @@
+ -DNXAGENT_ONSTART \
+ -DNXAGENT_SPLASH \
+ -DNXAGENT_ARTSD \
+- -UNX_DEBUG_INPUT \
++ -DNX_DEBUG_INPUT \
++ -DDEBUG \
+ -UPANORAMIX \
+ -UDEBUG_TREE
+
diff --git a/debian/patches/105_nxagent_export-remote-keyboard-config.patch b/debian/patches/105_nxagent_export-remote-keyboard-config.patch
new file mode 100644
index 000000000..efd6e5353
--- /dev/null
+++ b/debian/patches/105_nxagent_export-remote-keyboard-config.patch
@@ -0,0 +1,79 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 93_export_remote_keyboar_config.dpatch by <marceloshima@gmail.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Export the client keyboard configurations to a file
+
+--- a/nxagent/programs/Xserver/hw/nxagent/Error.c
++++ b/nxagent/programs/Xserver/hw/nxagent/Error.c
+@@ -497,7 +497,7 @@
+ return rootPath;
+ }
+
+-char *nxagentGetSessionPath()
++char *nxagentGetSessionPath(void)
+ {
+
+ char *rootPath;
+--- a/nxagent/programs/Xserver/hw/nxagent/Error.h
++++ b/nxagent/programs/Xserver/hw/nxagent/Error.h
+@@ -34,4 +34,6 @@
+
+ void nxagentEndRedirectToClientsLog(void);
+
++char *nxagentGetSessionPath(void);
++
+ #endif /* __Error_H__ */
+--- a/nxagent/programs/Xserver/hw/nxagent/Keyboard.c
++++ b/nxagent/programs/Xserver/hw/nxagent/Keyboard.c
+@@ -52,6 +52,7 @@
+ #include "Keyboard.h"
+ #include "Events.h"
+ #include "Options.h"
++#include "Error.h"
+
+ #include "NXlib.h"
+
+@@ -1770,6 +1771,42 @@
+ }
+ #endif
+
++ if (drulesLen != 0)
++ {
++ char *sessionpath = nxagentGetSessionPath();
++ if (sessionpath != NULL){
++ int keyboard_file_path_size = strlen(sessionpath) + strlen("/keyboard");
++ char *keyboard_file_path = malloc((keyboard_file_path_size + 1) * sizeof(char));
++ FILE *keyboard_file;
++ if ( keyboard_file_path == NULL)
++ {
++ FatalError("nxagentKeyboardProc: malloc failed.");
++ }
++ strcpy(keyboard_file_path, sessionpath);
++ strcat(keyboard_file_path, "/keyboard");
++ if ((keyboard_file = fopen(keyboard_file_path, "w")) != NULL) {
++ if ( drules != NULL )
++ fprintf(keyboard_file, "rules=%s\n", drules);
++ if ( dmodel != NULL )
++ fprintf(keyboard_file, "model=%s\n", dmodel);
++ if ( dlayout != NULL )
++ fprintf(keyboard_file, "layout=%s\n", dlayout);
++ if ( dvariant != NULL )
++ fprintf(keyboard_file, "variant=%s\n", dvariant);
++ if ( doptions != NULL )
++ fprintf(keyboard_file, "options=%s\n", doptions);
++ fclose(keyboard_file);
++ }
++ free(keyboard_file_path);
++ fprintf(stderr, "keyboard file created\n");
++ }
++ fprintf(stderr, "SessionPath not defined\n");
++ }
++ else
++ {
++ fprintf(stderr, "Failed to create the keyboard file\n");
++ }
++
+ if (nxagentOption(ClientOs) == ClientOsLinux &&
+ drules != NULL && dmodel != NULL &&
+ (strcmp(drules, "evdev") == 0 ||
diff --git a/debian/patches/106_nxagent_utf8-copy-clipboard.patch b/debian/patches/106_nxagent_utf8-copy-clipboard.patch
new file mode 100644
index 000000000..08b0c1039
--- /dev/null
+++ b/debian/patches/106_nxagent_utf8-copy-clipboard.patch
@@ -0,0 +1,45 @@
+--- a/nxagent/programs/Xserver/hw/nxagent/Clipboard.c
++++ b/nxagent/programs/Xserver/hw/nxagent/Clipboard.c
+@@ -166,7 +166,9 @@
+
+ if (target == XA_STRING) return True;
+ if (target == serverTEXT) return True;
+-
++ /* by dimbor */
++ if (target == serverUTF8_STRING) return True;
++
+ return False;
+ }
+
+@@ -402,7 +404,12 @@
+ lastServerProperty = X->xselectionrequest.property;
+ lastServerRequestor = X->xselectionrequest.requestor;
+ lastServerTarget = X->xselectionrequest.target;
+- lastServerTime = X->xselectionrequest.time;
++
++ /* by dimbor */
++ if (lastServerTarget != XA_STRING)
++ lastServerTarget = serverUTF8_STRING;
++
++ lastServerTime = X->xselectionrequest.time;
+
+ x.u.u.type = SelectionRequest;
+ x.u.selectionRequest.time = GetTimeInMillis();
+@@ -424,11 +431,12 @@
+
+ x.u.selectionRequest.selection = CurrentSelections[i].selection;
+
+- /*
+- * x.u.selectionRequest.target = X->xselectionrequest.target;
+- */
+-
+- x.u.selectionRequest.target = XA_STRING;
++ /* by dimbor (idea from zahvatov) */
++ if (X->xselectionrequest.target != XA_STRING)
++ x.u.selectionRequest.target = clientUTF8_STRING;
++ else
++ x.u.selectionRequest.target = XA_STRING;
++
+ x.u.selectionRequest.property = clientCutProperty;
+
+ (void) TryClientEvents(lastSelectionOwner[i].client, &x, 1,
diff --git a/debian/patches/107_nxagent_clipboard-compound-text+small-bed-sheets.patch b/debian/patches/107_nxagent_clipboard-compound-text+small-bed-sheets.patch
new file mode 100644
index 000000000..1388bf932
--- /dev/null
+++ b/debian/patches/107_nxagent_clipboard-compound-text+small-bed-sheets.patch
@@ -0,0 +1,40 @@
+--- a/nxagent/programs/Xserver/hw/nxagent/Clipboard.c
++++ b/nxagent/programs/Xserver/hw/nxagent/Clipboard.c
+@@ -1226,10 +1226,11 @@
+ Atom xa_STRING[4];
+ xEvent x;
+
++ /* --- Order changed by dimbor (prevent sending COMPOUND_TEXT to client --- */
+ xa_STRING[0] = XA_STRING;
+- xa_STRING[1] = clientTEXT;
+- xa_STRING[2] = clientCOMPOUND_TEXT;
+- xa_STRING[3] = clientUTF8_STRING;
++ xa_STRING[1] = clientUTF8_STRING;
++ xa_STRING[2] = clientTEXT;
++ xa_STRING[3] = clientCOMPOUND_TEXT;
+
+ ChangeWindowProperty(pWin,
+ property,
+--- a/nxagent/programs/Xserver/hw/nxagent/Image.c
++++ b/nxagent/programs/Xserver/hw/nxagent/Image.c
+@@ -644,6 +644,10 @@
+ pDrawable -> depth != 1 &&
+ nxagentOption(DeferLevel) >= 1)
+ {
++ /* -- changed by dimbor (small "bed-sheets" never need be prevented - always put) --*/
++ if (dstHeight > 16)
++ {
++ /* -------------------------------------------------------------------------------- */
+ #ifdef TEST
+ fprintf(stderr, "nxagentPutImage: WARNING! Prevented operation on region [%d,%d,%d,%d] "
+ "for drawable at [%p] with drawable pixmap.\n", pRegion -> extents.x1,
+@@ -654,6 +658,9 @@
+ nxagentMarkCorruptedRegion(pDrawable, pRegion);
+
+ goto nxagentPutImageEnd;
++ /* --- changed by dimbor ---*/
++ }
++ /* ------------------------- */
+ }
+
+ if (pDrawable -> type == DRAWABLE_WINDOW &&
diff --git a/debian/patches/108_nxagent_wine-close-delay.patch b/debian/patches/108_nxagent_wine-close-delay.patch
new file mode 100644
index 000000000..4ea4cd69c
--- /dev/null
+++ b/debian/patches/108_nxagent_wine-close-delay.patch
@@ -0,0 +1,53 @@
+--- a/nxagent/programs/Xserver/hw/nxagent/Window.c
++++ b/nxagent/programs/Xserver/hw/nxagent/Window.c
+@@ -176,6 +176,14 @@
+
+ static int nxagentForceExposure(WindowPtr pWin, pointer ptr);
+
++/* by dimbor */
++typedef struct
++{
++ CARD32 state;
++ Window icon;
++}
++nxagentWMStateRec;
++
+ /*
+ * This is currently unused.
+ */
+@@ -1640,6 +1648,17 @@
+ nxagentAddConfiguredWindow(pWin, CWStackingOrder);
+ nxagentAddConfiguredWindow(pWin, CW_Shape);
+
++ /* add by dimbor */
++ if (nxagentOption(Rootless) && nxagentWindowTopLevel(pWin))
++ {
++ Atom prop = MakeAtom("WM_STATE", strlen("WM_STATE"), True);
++ nxagentWMStateRec wmState;
++ wmState.state = 1; /* NormalState */
++ wmState.icon = None;
++ if (ChangeWindowProperty(pWin, prop, prop, 32, 0, 2, &wmState, 1) != Success)
++ fprintf(stderr, "nxagentRealizeWindow: Additing WM_STATE fail.\n");
++ }
++
+ #ifdef SHAPE
+
+ /*
+@@ -1686,6 +1705,17 @@
+ return True;
+ }
+
++ /* add by dimbor */
++ if (nxagentOption(Rootless) && nxagentWindowTopLevel(pWin))
++ {
++ Atom prop = MakeAtom("WM_STATE", strlen("WM_STATE"), True);
++ nxagentWMStateRec wmState;
++ wmState.state = 3; /* WithdrawnState */
++ wmState.icon = None;
++ if (ChangeWindowProperty(pWin, prop, prop, 32, 0, 2, &wmState, 1) != Success)
++ fprintf(stderr, "nxagentUnRealizeWindow: Changing WM_STATE failed.\n");
++ }
++
+ XUnmapWindow(nxagentDisplay, nxagentWindow(pWin));
+
+ return True;
diff --git a/debian/patches/109_nxagent_locale-utf8-compound-text.patch b/debian/patches/109_nxagent_locale-utf8-compound-text.patch
new file mode 100644
index 000000000..fe4893019
--- /dev/null
+++ b/debian/patches/109_nxagent_locale-utf8-compound-text.patch
@@ -0,0 +1,118 @@
+--- a/nxagent/programs/Xserver/hw/nxagent/Init.c
++++ b/nxagent/programs/Xserver/hw/nxagent/Init.c
+@@ -64,6 +64,9 @@
+ #include "NX.h"
+ #include "NXlib.h"
+
++/* by dimbor */
++#include <X11/Xlocale.h>
++
+ /*
+ * Set here the required log level.
+ */
+@@ -339,6 +342,20 @@
+ */
+
+ blackRoot = TRUE;
++
++ /* by dimbor */
++ char *locale = setlocale(LC_ALL, "");
++ if (!locale)
++ fprintf(stderr, "InitOutput: failed to set locale, reverting to \"C\"\n");
++ else
++ {
++ if (!XSupportsLocale())
++ fprintf(stderr, "InitOutput: Locale %s not supported by X\n",locale);
++ else
++ fprintf(stderr, "InitOutput: Set %s locale\n",locale);
++ }
++ if (!XSetLocaleModifiers(""))
++ fprintf(stderr,"InitOutput: cannot set locale modifiers.\n");
+ }
+
+ void InitInput(argc, argv)
+--- a/nxagent/programs/Xserver/hw/nxagent/Rootless.c
++++ b/nxagent/programs/Xserver/hw/nxagent/Rootless.c
+@@ -32,6 +32,10 @@
+
+ #include "NXlib.h"
+
++/* by dimbor */
++#include "Xatom.h"
++#include <X11/Xlocale.h>
++
+ /*
+ * Set here the required log level.
+ */
+@@ -100,6 +104,10 @@
+
+ static void nxagentRemovePropertyFromList(void);
+
++/* by dimbor */
++static char szAgentUTF8_STRING[] = "UTF8_STRING";
++static Atom agentUTF8_STRING;
++
+ /*
+ * This is currently unused.
+ */
+@@ -419,6 +427,28 @@
+ }
+ }
+
++/* by dimbor */
++char *textToUTF8String(char *text, int nitems)
++{
++ XTextProperty t_prop;
++ char *ret=NULL;
++ t_prop.value=((unsigned char *)text);
++ t_prop.nitems=nitems;
++ if (!t_prop.nitems)
++ return ret;
++ t_prop.format=8;
++ t_prop.encoding=XInternAtom(nxagentDisplay, "COMPOUND_TEXT", 0);
++ char **list;
++ int num;
++ int r = XmbTextPropertyToTextList(nxagentDisplay, &t_prop,&list, &num);
++ if ((r == Success || r > 0) && num > 0 && *list)
++ {
++ ret=(char *)strdup (*list);
++ XFreeStringList(list);
++ }
++ return ret;
++}
++
+ int nxagentExportAllProperty(pWin)
+ WindowPtr pWin;
+ {
+@@ -464,6 +494,7 @@
+
+ if (strncmp(propertyS, "WM_", 3) != 0 &&
+ strncmp(propertyS, "_NET_", 5) != 0 &&
++ strncmp(propertyS, "_MOTIF_", 7) != 0 &&
+ strcmp(propertyS, "_KDE_NET_WM_SYSTEM_TRAY_WINDOW_FOR") != 0)
+ {
+ #ifdef TEST
+@@ -474,6 +505,7 @@
+ #endif
+ }
+ else if (strcmp(typeS, "STRING") == 0 ||
++ strcmp(typeS, "_MOTIF_WM_HINTS") == 0 ||
+ #ifndef _XSERVER64
+ strcmp(typeS, "CARDINAL") == 0 ||
+ strcmp(typeS, "WM_SIZE_HINTS") == 0 ||
+@@ -483,6 +515,15 @@
+ output = value;
+ export = True;
+ }
++ /* add by dimbor */
++ else if (strcmp(typeS, "COMPOUND_TEXT") == 0)
++ {
++ output = textToUTF8String(value, nUnits);
++ nUnits = strlen((char *) output);
++ type = MakeAtom(szAgentUTF8_STRING, strlen(szAgentUTF8_STRING), True);
++ freeMem = True;
++ export = True;
++ }
+ #ifdef _XSERVER64
+ else if (strcmp(typeS, "CARDINAL") == 0 || strcmp(typeS, "WM_SIZE_HINTS") == 0)
+ {
diff --git a/debian/patches/200_nxagent_unbrand-agent.patch b/debian/patches/200_nxagent_unbrand-agent.patch
new file mode 100644
index 000000000..7a2b4d022
--- /dev/null
+++ b/debian/patches/200_nxagent_unbrand-agent.patch
@@ -0,0 +1,55 @@
+--- a/nxagent/programs/Xserver/hw/nxagent/Screen.c
++++ b/nxagent/programs/Xserver/hw/nxagent/Screen.c
+@@ -1539,7 +1539,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/nxagent/programs/Xserver/hw/nxagent/Screen.h
++++ b/nxagent/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/nxagent/programs/Xserver/hw/nxagent/Display.c
++++ b/nxagent/programs/Xserver/hw/nxagent/Display.c
+@@ -1861,7 +1861,7 @@
+ strncpy(default_path, "", 255);
+
+ strcat(icon_filename, NXAGENT_ICON_NAME);
+- strcat(default_path,"/usr/NX/share/images/");
++ strcat(default_path,"/usr/share/pixmaps/");
+ strcat(default_path,icon_filename);
+
+ if ((icon_fp = fopen(default_path, "r")) == NULL)
+--- a/nxagent/programs/Xserver/hw/nxagent/Splash.c
++++ b/nxagent/programs/Xserver/hw/nxagent/Splash.c
+@@ -204,6 +204,7 @@
+
+ nxagentPixmapLogo = XCreatePixmap(nxagentDisplay, win, width, height, nxagentLogoDepth);
+
++ return;
+ if (!nxagentPixmapLogo)
+ {
+ return;
diff --git a/debian/rgb b/debian/rgb
new file mode 100644
index 000000000..b9e56c602
--- /dev/null
+++ b/debian/rgb
@@ -0,0 +1,754 @@
+! $Xorg: rgb.txt,v 1.3 2000/08/17 19:54:00 cpqbld Exp $
+255 250 250 snow
+248 248 255 ghost white
+248 248 255 GhostWhite
+245 245 245 white smoke
+245 245 245 WhiteSmoke
+220 220 220 gainsboro
+255 250 240 floral white
+255 250 240 FloralWhite
+253 245 230 old lace
+253 245 230 OldLace
+250 240 230 linen
+250 235 215 antique white
+250 235 215 AntiqueWhite
+255 239 213 papaya whip
+255 239 213 PapayaWhip
+255 235 205 blanched almond
+255 235 205 BlanchedAlmond
+255 228 196 bisque
+255 218 185 peach puff
+255 218 185 PeachPuff
+255 222 173 navajo white
+255 222 173 NavajoWhite
+255 228 181 moccasin
+255 248 220 cornsilk
+255 255 240 ivory
+255 250 205 lemon chiffon
+255 250 205 LemonChiffon
+255 245 238 seashell
+240 255 240 honeydew
+245 255 250 mint cream
+245 255 250 MintCream
+240 255 255 azure
+240 248 255 alice blue
+240 248 255 AliceBlue
+230 230 250 lavender
+255 240 245 lavender blush
+255 240 245 LavenderBlush
+255 228 225 misty rose
+255 228 225 MistyRose
+255 255 255 white
+ 0 0 0 black
+ 47 79 79 dark slate gray
+ 47 79 79 DarkSlateGray
+ 47 79 79 dark slate grey
+ 47 79 79 DarkSlateGrey
+105 105 105 dim gray
+105 105 105 DimGray
+105 105 105 dim grey
+105 105 105 DimGrey
+112 128 144 slate gray
+112 128 144 SlateGray
+112 128 144 slate grey
+112 128 144 SlateGrey
+119 136 153 light slate gray
+119 136 153 LightSlateGray
+119 136 153 light slate grey
+119 136 153 LightSlateGrey
+190 190 190 gray
+190 190 190 grey
+211 211 211 light grey
+211 211 211 LightGrey
+211 211 211 light gray
+211 211 211 LightGray
+ 25 25 112 midnight blue
+ 25 25 112 MidnightBlue
+ 0 0 128 navy
+ 0 0 128 navy blue
+ 0 0 128 NavyBlue
+100 149 237 cornflower blue
+100 149 237 CornflowerBlue
+ 72 61 139 dark slate blue
+ 72 61 139 DarkSlateBlue
+106 90 205 slate blue
+106 90 205 SlateBlue
+123 104 238 medium slate blue
+123 104 238 MediumSlateBlue
+132 112 255 light slate blue
+132 112 255 LightSlateBlue
+ 0 0 205 medium blue
+ 0 0 205 MediumBlue
+ 65 105 225 royal blue
+ 65 105 225 RoyalBlue
+ 0 0 255 blue
+ 30 144 255 dodger blue
+ 30 144 255 DodgerBlue
+ 0 191 255 deep sky blue
+ 0 191 255 DeepSkyBlue
+135 206 235 sky blue
+135 206 235 SkyBlue
+135 206 250 light sky blue
+135 206 250 LightSkyBlue
+ 70 130 180 steel blue
+ 70 130 180 SteelBlue
+176 196 222 light steel blue
+176 196 222 LightSteelBlue
+173 216 230 light blue
+173 216 230 LightBlue
+176 224 230 powder blue
+176 224 230 PowderBlue
+175 238 238 pale turquoise
+175 238 238 PaleTurquoise
+ 0 206 209 dark turquoise
+ 0 206 209 DarkTurquoise
+ 72 209 204 medium turquoise
+ 72 209 204 MediumTurquoise
+ 64 224 208 turquoise
+ 0 255 255 cyan
+224 255 255 light cyan
+224 255 255 LightCyan
+ 95 158 160 cadet blue
+ 95 158 160 CadetBlue
+102 205 170 medium aquamarine
+102 205 170 MediumAquamarine
+127 255 212 aquamarine
+ 0 100 0 dark green
+ 0 100 0 DarkGreen
+ 85 107 47 dark olive green
+ 85 107 47 DarkOliveGreen
+143 188 143 dark sea green
+143 188 143 DarkSeaGreen
+ 46 139 87 sea green
+ 46 139 87 SeaGreen
+ 60 179 113 medium sea green
+ 60 179 113 MediumSeaGreen
+ 32 178 170 light sea green
+ 32 178 170 LightSeaGreen
+152 251 152 pale green
+152 251 152 PaleGreen
+ 0 255 127 spring green
+ 0 255 127 SpringGreen
+124 252 0 lawn green
+124 252 0 LawnGreen
+ 0 255 0 green
+127 255 0 chartreuse
+ 0 250 154 medium spring green
+ 0 250 154 MediumSpringGreen
+173 255 47 green yellow
+173 255 47 GreenYellow
+ 50 205 50 lime green
+ 50 205 50 LimeGreen
+154 205 50 yellow green
+154 205 50 YellowGreen
+ 34 139 34 forest green
+ 34 139 34 ForestGreen
+107 142 35 olive drab
+107 142 35 OliveDrab
+189 183 107 dark khaki
+189 183 107 DarkKhaki
+240 230 140 khaki
+238 232 170 pale goldenrod
+238 232 170 PaleGoldenrod
+250 250 210 light goldenrod yellow
+250 250 210 LightGoldenrodYellow
+255 255 224 light yellow
+255 255 224 LightYellow
+255 255 0 yellow
+255 215 0 gold
+238 221 130 light goldenrod
+238 221 130 LightGoldenrod
+218 165 32 goldenrod
+184 134 11 dark goldenrod
+184 134 11 DarkGoldenrod
+188 143 143 rosy brown
+188 143 143 RosyBrown
+205 92 92 indian red
+205 92 92 IndianRed
+139 69 19 saddle brown
+139 69 19 SaddleBrown
+160 82 45 sienna
+205 133 63 peru
+222 184 135 burlywood
+245 245 220 beige
+245 222 179 wheat
+244 164 96 sandy brown
+244 164 96 SandyBrown
+210 180 140 tan
+210 105 30 chocolate
+178 34 34 firebrick
+165 42 42 brown
+233 150 122 dark salmon
+233 150 122 DarkSalmon
+250 128 114 salmon
+255 160 122 light salmon
+255 160 122 LightSalmon
+255 165 0 orange
+255 140 0 dark orange
+255 140 0 DarkOrange
+255 127 80 coral
+240 128 128 light coral
+240 128 128 LightCoral
+255 99 71 tomato
+255 69 0 orange red
+255 69 0 OrangeRed
+255 0 0 red
+255 105 180 hot pink
+255 105 180 HotPink
+255 20 147 deep pink
+255 20 147 DeepPink
+255 192 203 pink
+255 182 193 light pink
+255 182 193 LightPink
+219 112 147 pale violet red
+219 112 147 PaleVioletRed
+176 48 96 maroon
+199 21 133 medium violet red
+199 21 133 MediumVioletRed
+208 32 144 violet red
+208 32 144 VioletRed
+255 0 255 magenta
+238 130 238 violet
+221 160 221 plum
+218 112 214 orchid
+186 85 211 medium orchid
+186 85 211 MediumOrchid
+153 50 204 dark orchid
+153 50 204 DarkOrchid
+148 0 211 dark violet
+148 0 211 DarkViolet
+138 43 226 blue violet
+138 43 226 BlueViolet
+160 32 240 purple
+147 112 219 medium purple
+147 112 219 MediumPurple
+216 191 216 thistle
+255 250 250 snow1
+238 233 233 snow2
+205 201 201 snow3
+139 137 137 snow4
+255 245 238 seashell1
+238 229 222 seashell2
+205 197 191 seashell3
+139 134 130 seashell4
+255 239 219 AntiqueWhite1
+238 223 204 AntiqueWhite2
+205 192 176 AntiqueWhite3
+139 131 120 AntiqueWhite4
+255 228 196 bisque1
+238 213 183 bisque2
+205 183 158 bisque3
+139 125 107 bisque4
+255 218 185 PeachPuff1
+238 203 173 PeachPuff2
+205 175 149 PeachPuff3
+139 119 101 PeachPuff4
+255 222 173 NavajoWhite1
+238 207 161 NavajoWhite2
+205 179 139 NavajoWhite3
+139 121 94 NavajoWhite4
+255 250 205 LemonChiffon1
+238 233 191 LemonChiffon2
+205 201 165 LemonChiffon3
+139 137 112 LemonChiffon4
+255 248 220 cornsilk1
+238 232 205 cornsilk2
+205 200 177 cornsilk3
+139 136 120 cornsilk4
+255 255 240 ivory1
+238 238 224 ivory2
+205 205 193 ivory3
+139 139 131 ivory4
+240 255 240 honeydew1
+224 238 224 honeydew2
+193 205 193 honeydew3
+131 139 131 honeydew4
+255 240 245 LavenderBlush1
+238 224 229 LavenderBlush2
+205 193 197 LavenderBlush3
+139 131 134 LavenderBlush4
+255 228 225 MistyRose1
+238 213 210 MistyRose2
+205 183 181 MistyRose3
+139 125 123 MistyRose4
+240 255 255 azure1
+224 238 238 azure2
+193 205 205 azure3
+131 139 139 azure4
+131 111 255 SlateBlue1
+122 103 238 SlateBlue2
+105 89 205 SlateBlue3
+ 71 60 139 SlateBlue4
+ 72 118 255 RoyalBlue1
+ 67 110 238 RoyalBlue2
+ 58 95 205 RoyalBlue3
+ 39 64 139 RoyalBlue4
+ 0 0 255 blue1
+ 0 0 238 blue2
+ 0 0 205 blue3
+ 0 0 139 blue4
+ 30 144 255 DodgerBlue1
+ 28 134 238 DodgerBlue2
+ 24 116 205 DodgerBlue3
+ 16 78 139 DodgerBlue4
+ 99 184 255 SteelBlue1
+ 92 172 238 SteelBlue2
+ 79 148 205 SteelBlue3
+ 54 100 139 SteelBlue4
+ 0 191 255 DeepSkyBlue1
+ 0 178 238 DeepSkyBlue2
+ 0 154 205 DeepSkyBlue3
+ 0 104 139 DeepSkyBlue4
+135 206 255 SkyBlue1
+126 192 238 SkyBlue2
+108 166 205 SkyBlue3
+ 74 112 139 SkyBlue4
+176 226 255 LightSkyBlue1
+164 211 238 LightSkyBlue2
+141 182 205 LightSkyBlue3
+ 96 123 139 LightSkyBlue4
+198 226 255 SlateGray1
+185 211 238 SlateGray2
+159 182 205 SlateGray3
+108 123 139 SlateGray4
+202 225 255 LightSteelBlue1
+188 210 238 LightSteelBlue2
+162 181 205 LightSteelBlue3
+110 123 139 LightSteelBlue4
+191 239 255 LightBlue1
+178 223 238 LightBlue2
+154 192 205 LightBlue3
+104 131 139 LightBlue4
+224 255 255 LightCyan1
+209 238 238 LightCyan2
+180 205 205 LightCyan3
+122 139 139 LightCyan4
+187 255 255 PaleTurquoise1
+174 238 238 PaleTurquoise2
+150 205 205 PaleTurquoise3
+102 139 139 PaleTurquoise4
+152 245 255 CadetBlue1
+142 229 238 CadetBlue2
+122 197 205 CadetBlue3
+ 83 134 139 CadetBlue4
+ 0 245 255 turquoise1
+ 0 229 238 turquoise2
+ 0 197 205 turquoise3
+ 0 134 139 turquoise4
+ 0 255 255 cyan1
+ 0 238 238 cyan2
+ 0 205 205 cyan3
+ 0 139 139 cyan4
+151 255 255 DarkSlateGray1
+141 238 238 DarkSlateGray2
+121 205 205 DarkSlateGray3
+ 82 139 139 DarkSlateGray4
+127 255 212 aquamarine1
+118 238 198 aquamarine2
+102 205 170 aquamarine3
+ 69 139 116 aquamarine4
+193 255 193 DarkSeaGreen1
+180 238 180 DarkSeaGreen2
+155 205 155 DarkSeaGreen3
+105 139 105 DarkSeaGreen4
+ 84 255 159 SeaGreen1
+ 78 238 148 SeaGreen2
+ 67 205 128 SeaGreen3
+ 46 139 87 SeaGreen4
+154 255 154 PaleGreen1
+144 238 144 PaleGreen2
+124 205 124 PaleGreen3
+ 84 139 84 PaleGreen4
+ 0 255 127 SpringGreen1
+ 0 238 118 SpringGreen2
+ 0 205 102 SpringGreen3
+ 0 139 69 SpringGreen4
+ 0 255 0 green1
+ 0 238 0 green2
+ 0 205 0 green3
+ 0 139 0 green4
+127 255 0 chartreuse1
+118 238 0 chartreuse2
+102 205 0 chartreuse3
+ 69 139 0 chartreuse4
+192 255 62 OliveDrab1
+179 238 58 OliveDrab2
+154 205 50 OliveDrab3
+105 139 34 OliveDrab4
+202 255 112 DarkOliveGreen1
+188 238 104 DarkOliveGreen2
+162 205 90 DarkOliveGreen3
+110 139 61 DarkOliveGreen4
+255 246 143 khaki1
+238 230 133 khaki2
+205 198 115 khaki3
+139 134 78 khaki4
+255 236 139 LightGoldenrod1
+238 220 130 LightGoldenrod2
+205 190 112 LightGoldenrod3
+139 129 76 LightGoldenrod4
+255 255 224 LightYellow1
+238 238 209 LightYellow2
+205 205 180 LightYellow3
+139 139 122 LightYellow4
+255 255 0 yellow1
+238 238 0 yellow2
+205 205 0 yellow3
+139 139 0 yellow4
+255 215 0 gold1
+238 201 0 gold2
+205 173 0 gold3
+139 117 0 gold4
+255 193 37 goldenrod1
+238 180 34 goldenrod2
+205 155 29 goldenrod3
+139 105 20 goldenrod4
+255 185 15 DarkGoldenrod1
+238 173 14 DarkGoldenrod2
+205 149 12 DarkGoldenrod3
+139 101 8 DarkGoldenrod4
+255 193 193 RosyBrown1
+238 180 180 RosyBrown2
+205 155 155 RosyBrown3
+139 105 105 RosyBrown4
+255 106 106 IndianRed1
+238 99 99 IndianRed2
+205 85 85 IndianRed3
+139 58 58 IndianRed4
+255 130 71 sienna1
+238 121 66 sienna2
+205 104 57 sienna3
+139 71 38 sienna4
+255 211 155 burlywood1
+238 197 145 burlywood2
+205 170 125 burlywood3
+139 115 85 burlywood4
+255 231 186 wheat1
+238 216 174 wheat2
+205 186 150 wheat3
+139 126 102 wheat4
+255 165 79 tan1
+238 154 73 tan2
+205 133 63 tan3
+139 90 43 tan4
+255 127 36 chocolate1
+238 118 33 chocolate2
+205 102 29 chocolate3
+139 69 19 chocolate4
+255 48 48 firebrick1
+238 44 44 firebrick2
+205 38 38 firebrick3
+139 26 26 firebrick4
+255 64 64 brown1
+238 59 59 brown2
+205 51 51 brown3
+139 35 35 brown4
+255 140 105 salmon1
+238 130 98 salmon2
+205 112 84 salmon3
+139 76 57 salmon4
+255 160 122 LightSalmon1
+238 149 114 LightSalmon2
+205 129 98 LightSalmon3
+139 87 66 LightSalmon4
+255 165 0 orange1
+238 154 0 orange2
+205 133 0 orange3
+139 90 0 orange4
+255 127 0 DarkOrange1
+238 118 0 DarkOrange2
+205 102 0 DarkOrange3
+139 69 0 DarkOrange4
+255 114 86 coral1
+238 106 80 coral2
+205 91 69 coral3
+139 62 47 coral4
+255 99 71 tomato1
+238 92 66 tomato2
+205 79 57 tomato3
+139 54 38 tomato4
+255 69 0 OrangeRed1
+238 64 0 OrangeRed2
+205 55 0 OrangeRed3
+139 37 0 OrangeRed4
+255 0 0 red1
+238 0 0 red2
+205 0 0 red3
+139 0 0 red4
+215 7 81 DebianRed
+255 20 147 DeepPink1
+238 18 137 DeepPink2
+205 16 118 DeepPink3
+139 10 80 DeepPink4
+255 110 180 HotPink1
+238 106 167 HotPink2
+205 96 144 HotPink3
+139 58 98 HotPink4
+255 181 197 pink1
+238 169 184 pink2
+205 145 158 pink3
+139 99 108 pink4
+255 174 185 LightPink1
+238 162 173 LightPink2
+205 140 149 LightPink3
+139 95 101 LightPink4
+255 130 171 PaleVioletRed1
+238 121 159 PaleVioletRed2
+205 104 137 PaleVioletRed3
+139 71 93 PaleVioletRed4
+255 52 179 maroon1
+238 48 167 maroon2
+205 41 144 maroon3
+139 28 98 maroon4
+255 62 150 VioletRed1
+238 58 140 VioletRed2
+205 50 120 VioletRed3
+139 34 82 VioletRed4
+255 0 255 magenta1
+238 0 238 magenta2
+205 0 205 magenta3
+139 0 139 magenta4
+255 131 250 orchid1
+238 122 233 orchid2
+205 105 201 orchid3
+139 71 137 orchid4
+255 187 255 plum1
+238 174 238 plum2
+205 150 205 plum3
+139 102 139 plum4
+224 102 255 MediumOrchid1
+209 95 238 MediumOrchid2
+180 82 205 MediumOrchid3
+122 55 139 MediumOrchid4
+191 62 255 DarkOrchid1
+178 58 238 DarkOrchid2
+154 50 205 DarkOrchid3
+104 34 139 DarkOrchid4
+155 48 255 purple1
+145 44 238 purple2
+125 38 205 purple3
+ 85 26 139 purple4
+171 130 255 MediumPurple1
+159 121 238 MediumPurple2
+137 104 205 MediumPurple3
+ 93 71 139 MediumPurple4
+255 225 255 thistle1
+238 210 238 thistle2
+205 181 205 thistle3
+139 123 139 thistle4
+ 0 0 0 gray0
+ 0 0 0 grey0
+ 3 3 3 gray1
+ 3 3 3 grey1
+ 5 5 5 gray2
+ 5 5 5 grey2
+ 8 8 8 gray3
+ 8 8 8 grey3
+ 10 10 10 gray4
+ 10 10 10 grey4
+ 13 13 13 gray5
+ 13 13 13 grey5
+ 15 15 15 gray6
+ 15 15 15 grey6
+ 18 18 18 gray7
+ 18 18 18 grey7
+ 20 20 20 gray8
+ 20 20 20 grey8
+ 23 23 23 gray9
+ 23 23 23 grey9
+ 26 26 26 gray10
+ 26 26 26 grey10
+ 28 28 28 gray11
+ 28 28 28 grey11
+ 31 31 31 gray12
+ 31 31 31 grey12
+ 33 33 33 gray13
+ 33 33 33 grey13
+ 36 36 36 gray14
+ 36 36 36 grey14
+ 38 38 38 gray15
+ 38 38 38 grey15
+ 41 41 41 gray16
+ 41 41 41 grey16
+ 43 43 43 gray17
+ 43 43 43 grey17
+ 46 46 46 gray18
+ 46 46 46 grey18
+ 48 48 48 gray19
+ 48 48 48 grey19
+ 51 51 51 gray20
+ 51 51 51 grey20
+ 54 54 54 gray21
+ 54 54 54 grey21
+ 56 56 56 gray22
+ 56 56 56 grey22
+ 59 59 59 gray23
+ 59 59 59 grey23
+ 61 61 61 gray24
+ 61 61 61 grey24
+ 64 64 64 gray25
+ 64 64 64 grey25
+ 66 66 66 gray26
+ 66 66 66 grey26
+ 69 69 69 gray27
+ 69 69 69 grey27
+ 71 71 71 gray28
+ 71 71 71 grey28
+ 74 74 74 gray29
+ 74 74 74 grey29
+ 77 77 77 gray30
+ 77 77 77 grey30
+ 79 79 79 gray31
+ 79 79 79 grey31
+ 82 82 82 gray32
+ 82 82 82 grey32
+ 84 84 84 gray33
+ 84 84 84 grey33
+ 87 87 87 gray34
+ 87 87 87 grey34
+ 89 89 89 gray35
+ 89 89 89 grey35
+ 92 92 92 gray36
+ 92 92 92 grey36
+ 94 94 94 gray37
+ 94 94 94 grey37
+ 97 97 97 gray38
+ 97 97 97 grey38
+ 99 99 99 gray39
+ 99 99 99 grey39
+102 102 102 gray40
+102 102 102 grey40
+105 105 105 gray41
+105 105 105 grey41
+107 107 107 gray42
+107 107 107 grey42
+110 110 110 gray43
+110 110 110 grey43
+112 112 112 gray44
+112 112 112 grey44
+115 115 115 gray45
+115 115 115 grey45
+117 117 117 gray46
+117 117 117 grey46
+120 120 120 gray47
+120 120 120 grey47
+122 122 122 gray48
+122 122 122 grey48
+125 125 125 gray49
+125 125 125 grey49
+127 127 127 gray50
+127 127 127 grey50
+130 130 130 gray51
+130 130 130 grey51
+133 133 133 gray52
+133 133 133 grey52
+135 135 135 gray53
+135 135 135 grey53
+138 138 138 gray54
+138 138 138 grey54
+140 140 140 gray55
+140 140 140 grey55
+143 143 143 gray56
+143 143 143 grey56
+145 145 145 gray57
+145 145 145 grey57
+148 148 148 gray58
+148 148 148 grey58
+150 150 150 gray59
+150 150 150 grey59
+153 153 153 gray60
+153 153 153 grey60
+156 156 156 gray61
+156 156 156 grey61
+158 158 158 gray62
+158 158 158 grey62
+161 161 161 gray63
+161 161 161 grey63
+163 163 163 gray64
+163 163 163 grey64
+166 166 166 gray65
+166 166 166 grey65
+168 168 168 gray66
+168 168 168 grey66
+171 171 171 gray67
+171 171 171 grey67
+173 173 173 gray68
+173 173 173 grey68
+176 176 176 gray69
+176 176 176 grey69
+179 179 179 gray70
+179 179 179 grey70
+181 181 181 gray71
+181 181 181 grey71
+184 184 184 gray72
+184 184 184 grey72
+186 186 186 gray73
+186 186 186 grey73
+189 189 189 gray74
+189 189 189 grey74
+191 191 191 gray75
+191 191 191 grey75
+194 194 194 gray76
+194 194 194 grey76
+196 196 196 gray77
+196 196 196 grey77
+199 199 199 gray78
+199 199 199 grey78
+201 201 201 gray79
+201 201 201 grey79
+204 204 204 gray80
+204 204 204 grey80
+207 207 207 gray81
+207 207 207 grey81
+209 209 209 gray82
+209 209 209 grey82
+212 212 212 gray83
+212 212 212 grey83
+214 214 214 gray84
+214 214 214 grey84
+217 217 217 gray85
+217 217 217 grey85
+219 219 219 gray86
+219 219 219 grey86
+222 222 222 gray87
+222 222 222 grey87
+224 224 224 gray88
+224 224 224 grey88
+227 227 227 gray89
+227 227 227 grey89
+229 229 229 gray90
+229 229 229 grey90
+232 232 232 gray91
+232 232 232 grey91
+235 235 235 gray92
+235 235 235 grey92
+237 237 237 gray93
+237 237 237 grey93
+240 240 240 gray94
+240 240 240 grey94
+242 242 242 gray95
+242 242 242 grey95
+245 245 245 gray96
+245 245 245 grey96
+247 247 247 gray97
+247 247 247 grey97
+250 250 250 gray98
+250 250 250 grey98
+252 252 252 gray99
+252 252 252 grey99
+255 255 255 gray100
+255 255 255 grey100
+169 169 169 dark grey
+169 169 169 DarkGrey
+169 169 169 dark gray
+169 169 169 DarkGray
+0 0 139 dark blue
+0 0 139 DarkBlue
+0 139 139 dark cyan
+0 139 139 DarkCyan
+139 0 139 dark magenta
+139 0 139 DarkMagenta
+139 0 0 dark red
+139 0 0 DarkRed
+144 238 144 light green
+144 238 144 LightGreen