Subject: Bug#744: [X2Go-Dev] Bug#744: user-local keystrokes.cfg does not work

From: Horst Schirmeier <[email-masked]>
Date: Mon, 19 Jan 2015 09:51:15 +0100

Hi Mike,

On Mon, 19 Jan 2015, Mike Gabriel wrote:
> The patch looks ok. However, two things...
> 
> (1) can you re-send that patch as an attachment (not as an inline
> text)? (I have been struggling with extracting inline patches from
> mail bodies in the past with a lot of hassle on my side, so I am
> prophylactically asking without even having tried to apply your
> sent-in (inline-text) patch).

Sure.

> (2) I am tempted to merge that patch into patch 320. Would that be
> ok with you?

320 is generally useful for nxagent and could be merged into its
codebase one day.  Mine is x2go specific.  This objection aside, feel
free to merge the patches, sure! :)

Horst

-- 
PGP-Key 0xD40E0E7A
From fccaa20d36e401d17f958ad1028682c837f2be16 Mon Sep 17 00:00:00 2001
From: Horst Schirmeier <[email-masked]>
Date: Fri, 16 Jan 2015 14:00:09 +0100
Subject: [PATCH] patch for x2go-specific keystroke configuration files, enable
 user-local keystrokes.cfg

---
 ...agent_x2go-specific-keystroke-config.full.patch | 22 ++++++++++++++++++++++
 debian/patches/series                              |  1 +
 debian/wrappers/x2goagent                          |  3 ---
 3 files changed, 23 insertions(+), 3 deletions(-)
 create mode 100644 debian/patches/321_nxagent_x2go-specific-keystroke-config.full.patch

diff --git a/debian/patches/321_nxagent_x2go-specific-keystroke-config.full.patch b/debian/patches/321_nxagent_x2go-specific-keystroke-config.full.patch
new file mode 100644
index 0000000..8ab4f93
--- /dev/null
+++ b/debian/patches/321_nxagent_x2go-specific-keystroke-config.full.patch
@@ -0,0 +1,22 @@
+--- a/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c
++++ b/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c
+@@ -27,6 +27,7 @@
+ #include "Options.h"
+ #include "Keystroke.h"
+ #include "Drawable.h"
++#include "Init.h" /* extern int nxagentX2go */
+ 
+ #include <unistd.h>
+ 
+@@ -261,6 +262,11 @@ static void parse_keystroke_file(void)
+   char *homefile = "/.nx/config/keystrokes.cfg";
+   char *etcfile = "/etc/nxagent/keystrokes.cfg";
+ 
++  if (nxagentX2go) {
++    homefile = "/.x2go/config/keystrokes.cfg";
++    etcfile = "/etc/x2go/keystrokes.cfg";
++  }
++
+   if (nxagentKeystrokeFile != NULL && access(nxagentKeystrokeFile, R_OK) == 0)
+   {
+     filename = strdup(nxagentKeystrokeFile);
diff --git a/debian/patches/series b/debian/patches/series
index 98d3e5e..c65f645 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -61,6 +61,7 @@
 301_nx-X11_use-shared-libs.full.patch
 302_nx-X11_xkbbasedir-detection.full.patch
 320_nxagent_configurable-keystrokes.full.patch
+321_nxagent_x2go-specific-keystroke-config.full.patch
 400_nxcomp-version.full+lite.patch
 #401_nxcomp_bigrequests-and-genericevent-extensions.full+lite.patch
 600_nx-X11+nxcompext+nxcompshad_unique-libnames.full.patch
diff --git a/debian/wrappers/x2goagent b/debian/wrappers/x2goagent
index 129c7ca..ba07a3f 100644
--- a/debian/wrappers/x2goagent
+++ b/debian/wrappers/x2goagent
@@ -29,7 +29,4 @@ test -x $NX_LIBS/../x2go/bin/$NXAPP && export NX_LIBS=$NX_LIBS
 
 export LD_LIBRARY_PATH
 
-NXAGENT_KEYSTROKEFILE=/etc/x2go/keystrokes.cfg
-export NXAGENT_KEYSTROKEFILE
-
 exec $NX_LIBS/../x2go/bin/$NXAPP "$@"
-- 
2.2.1.62.g3f15098