Commit c134b93a authored by Ulrich Sibiller's avatar Ulrich Sibiller

Keystroke.c: use an own environment variable for X2Go

parent 8f2679ab
...@@ -16,7 +16,7 @@ If nxagent is called without branding, it searches: ...@@ -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: 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 '-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 ~/.x2go/config/keystrokes.cfg
- in /etc/x2go/keystrokes.cfg - in /etc/x2go/keystrokes.cfg
......
...@@ -245,13 +245,15 @@ static Bool read_binding_from_xmlnode(xmlNode *node, struct nxagentSpecialKeystr ...@@ -245,13 +245,15 @@ static Bool read_binding_from_xmlnode(xmlNode *node, struct nxagentSpecialKeystr
* - $HOME/.nx/config/keystrokes.cfg * - $HOME/.nx/config/keystrokes.cfg
* - /etc/nxagent/keystrokes.cfg * - /etc/nxagent/keystrokes.cfg
* - hardcoded traditional NX default settings * - hardcoded traditional NX default settings
* If run in x2go flavour different filenames and varnames are used.
*/ */
static void parse_keystroke_file(void) static void parse_keystroke_file(void)
{ {
char *filename = NULL; char *filename = NULL;
char *homefile = "/.nx/config/keystrokes.cfg"; char *homefile;
char *etcfile = "/etc/nxagent/keystrokes.cfg"; char *etcfile;
char *envvar;
/* used for tracking if the config file parsing has already been /* used for tracking if the config file parsing has already been
done (regardless of the result) */ done (regardless of the result) */
...@@ -263,6 +265,11 @@ static void parse_keystroke_file(void) ...@@ -263,6 +265,11 @@ static void parse_keystroke_file(void)
if (nxagentX2go) { if (nxagentX2go) {
homefile = "/.x2go/config/keystrokes.cfg"; homefile = "/.x2go/config/keystrokes.cfg";
etcfile = "/etc/x2go/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) if (nxagentKeystrokeFile != NULL && access(nxagentKeystrokeFile, R_OK) == 0)
...@@ -274,7 +281,7 @@ static void parse_keystroke_file(void) ...@@ -274,7 +281,7 @@ static void parse_keystroke_file(void)
exit(EXIT_FAILURE); 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); filename = strdup(filename);
if (filename == NULL) if (filename == NULL)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment