From horst@schirmeier.com  Fri Jan 16 15:11:06 2015
Received: (at 744) by bugs.x2go.org; 16 Jan 2015 14:11:13 +0000
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on
	ymir.das-netzwerkteam.de
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham
	version=3.3.2
Received: from quickstop.soohrt.org (quickstop.soohrt.org [85.131.246.152])
	by ymir.das-netzwerkteam.de (Postfix) with ESMTPS id 8B6215DEA3
	for <744@bugs.x2go.org>; Fri, 16 Jan 2015 15:11:06 +0100 (CET)
Received: (qmail 27022 invoked by uid 1014); 16 Jan 2015 14:11:05 -0000
Date: Fri, 16 Jan 2015 15:11:05 +0100
From: Horst Schirmeier <horst@schirmeier.com>
To: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Cc: Mihai Moldovan <ionic@ionic.de>, 744@bugs.x2go.org
Subject: Re: [X2Go-Dev] Bug#744: user-local keystrokes.cfg does not work
Message-ID: <20150116141105.GO22378@quickstop.soohrt.org>
References: <20150115151045.GI22378@quickstop.soohrt.org>
 <54B829B7.4030902@ionic.de>
 <20150115225649.Horde.HcPP3grdrOF4uhHQn4l8_w4@mail.das-netzwerkteam.de>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
	protocol="application/pgp-signature"; boundary="xjamM5M9kpPM/bcu"
Content-Disposition: inline
In-Reply-To: <20150115225649.Horde.HcPP3grdrOF4uhHQn4l8_w4@mail.das-netzwerkteam.de>
User-Agent: Mutt/1.5.21 (2010-09-15)


--xjamM5M9kpPM/bcu
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, 15 Jan 2015, Mike Gabriel wrote:
> >Do we actually WANT to make ~/.nx/foo override /etc/x2go/foo *for
>=20
> First: We want to allow users to override system-wide settings by
> user settings.
>=20
> >x2goagent*? Or do we rather want to get rid of ~/.nx and /etc/nxagent
> >entirely within x2go components (which, really, would make some sort of
> >sense, especially if $SOMETHING created ~/.nx/config/keystrokes.cfg and
> >users wonder why /etc/x2go/keystrokes.cfg does not take any effect.)
>=20
> This indeed is a bit of a drama, I agree.
>=20
> 1. We want to provide NX-X11 to people who still use NX (e.g. FreeNX).
>=20
> To provide this, we have to think generically here. Paths like ~/.nx
> or /etc/nxagent/ are hard-coded in NX-X11 and nxagent and I think
> that is ok. All X2Go'ish paths should be overridden via env vars or
> otherwise.
>=20
> In nxagent, there is some code that checks ARGV[0] (=3D=3D nxagent? =3D=3D
> x2goagent?) and triggers the branding of start-up screens of desktop
> sessions (the gray X2GO logo).
>=20
> Maybe for setting paths (esp. ~/.x2go/keystrokes.cfg), some similar
> mechanism should be used?

How about this variant?

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-conf=
ig.full.patch

diff --git a/debian/patches/321_nxagent_x2go-specific-keystroke-config.full=
=2Epatch b/debian/patches/321_nxagent_x2go-specific-keystroke-config.full.p=
atch
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 */
+=20
+ #include <unistd.h>
+=20
+@@ -261,6 +262,11 @@ static void parse_keystroke_file(void)
+   char *homefile =3D "/.nx/config/keystrokes.cfg";
+   char *etcfile =3D "/etc/nxagent/keystrokes.cfg";
+=20
++  if (nxagentX2go) {
++    homefile =3D "/.x2go/config/keystrokes.cfg";
++    etcfile =3D "/etc/x2go/keystrokes.cfg";
++  }
++
+   if (nxagentKeystrokeFile !=3D NULL && access(nxagentKeystrokeFile, R_OK=
) =3D=3D 0)
+   {
+     filename =3D 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=3D$=
NX_LIBS
=20
 export LD_LIBRARY_PATH
=20
-NXAGENT_KEYSTROKEFILE=3D/etc/x2go/keystrokes.cfg
-export NXAGENT_KEYSTROKEFILE
-
 exec $NX_LIBS/../x2go/bin/$NXAPP "$@"

--=20
PGP-Key 0xD40E0E7A

--xjamM5M9kpPM/bcu
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEARECAAYFAlS5G/kACgkQB6mkGNQODnqz/gCfUj/m5KReNh3G8j+gIyaNsAKf
GAQAnRwTKhcspLqtDcpNwXUKZuEn+Yll
=ELF4
-----END PGP SIGNATURE-----

--xjamM5M9kpPM/bcu--

