diff options
-rw-r--r-- | doc/nxagent/README.keystrokes | 2 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/Keystroke.c | 13 |
2 files changed, 11 insertions, 4 deletions
diff --git a/doc/nxagent/README.keystrokes b/doc/nxagent/README.keystrokes index 32197a79f..ad850f6df 100644 --- a/doc/nxagent/README.keystrokes +++ b/doc/nxagent/README.keystrokes @@ -16,7 +16,7 @@ If nxagent is called without branding, it searches: If nxagent is called with X2Go branding (i.e., as x2goagent), it searches: - in the location given by the '-keystrokefile' command line parameter -- in the location given by the NXAGENT_KEYSTROKEFILE environment variable +- in the location given by the X2GO_KEYSTROKEFILE environment variable - in ~/.x2go/config/keystrokes.cfg - in /etc/x2go/keystrokes.cfg diff --git a/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c b/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c index f655e3b95..ec408d3c2 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c @@ -245,13 +245,15 @@ static Bool read_binding_from_xmlnode(xmlNode *node, struct nxagentSpecialKeystr * - $HOME/.nx/config/keystrokes.cfg * - /etc/nxagent/keystrokes.cfg * - hardcoded traditional NX default settings + * If run in x2go flavour different filenames and varnames are used. */ static void parse_keystroke_file(void) { char *filename = NULL; - char *homefile = "/.nx/config/keystrokes.cfg"; - char *etcfile = "/etc/nxagent/keystrokes.cfg"; + char *homefile; + char *etcfile; + char *envvar; /* used for tracking if the config file parsing has already been done (regardless of the result) */ @@ -263,6 +265,11 @@ static void parse_keystroke_file(void) if (nxagentX2go) { homefile = "/.x2go/config/keystrokes.cfg"; etcfile = "/etc/x2go/keystrokes.cfg"; + envvar = "X2GO_KEYSTROKEFILE"; + } else { + homefile = "/.nx/config/keystrokes.cfg"; + etcfile = "/etc/nxagent/keystrokes.cfg"; + envvar = "NXAGENT_KEYSTROKEFILE"; } if (nxagentKeystrokeFile != NULL && access(nxagentKeystrokeFile, R_OK) == 0) @@ -274,7 +281,7 @@ static void parse_keystroke_file(void) exit(EXIT_FAILURE); } } - else if ((filename = getenv("NXAGENT_KEYSTROKEFILE")) != NULL && access(filename, R_OK) == 0) + else if ((filename = getenv(envvar)) != NULL && access(filename, R_OK) == 0) { filename = strdup(filename); if (filename == NULL) |