[X2Go-Commits] [nx-libs] 19/38: nxagent: Add support for optionally enabling/disabling the magic pixel feature.
git-admin at x2go.org
git-admin at x2go.org
Mon Feb 26 06:45:03 CET 2018
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch 3.6.x
in repository nx-libs.
commit 8d00456ad3e7b7a49d8fadb269334589e3704758
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Wed Feb 21 10:39:46 2018 +0100
nxagent: Add support for optionally enabling/disabling the magic pixel feature.
Fixes ArcticaProject/nx-libs#657.
---
nx-X11/programs/Xserver/hw/nxagent/Args.c | 18 ++++++++++++++++++
nx-X11/programs/Xserver/hw/nxagent/Events.c | 2 +-
nx-X11/programs/Xserver/hw/nxagent/Options.c | 2 ++
nx-X11/programs/Xserver/hw/nxagent/Options.h | 6 ++++++
nx-X11/programs/Xserver/hw/nxagent/man/nxagent.1 | 7 +++++++
nxcomp/src/Loop.cpp | 3 ++-
nxcomp/src/Misc.cpp | 1 +
nxproxy/man/nxproxy.1 | 1 +
8 files changed, 38 insertions(+), 2 deletions(-)
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Args.c b/nx-X11/programs/Xserver/hw/nxagent/Args.c
index 14f696e..604b331 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Args.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Args.c
@@ -676,6 +676,10 @@ int ddxProcessArgument(int argc, char *argv[], int i)
return 1;
}
+ if (!strcmp(argv[i], "-nomagicpixel")) {
+ nxagentChangeOption(MagicPixel, 0);
+ return 1;
+ }
if (!strcmp(argv[i], "-noonce"))
{
@@ -1246,6 +1250,19 @@ static void nxagentParseOptions(char *name, char *value)
return;
}
+ else if (!strcmp(name, "magicpixel"))
+ {
+ if (!strcmp(value, "0"))
+ {
+ nxagentChangeOption(MagicPixel, 0);
+ }
+ else
+ {
+ nxagentChangeOption(MagicPixel, 1);
+ }
+
+ return;
+ }
else if (strcmp(name, "shadowuid") == 0)
{
nxagentShadowUid = atoi(value);
@@ -2075,6 +2092,7 @@ void ddxUseMsg()
ErrorF("-forcenx force use of NX protocol messages assuming communication through nxproxy\n");
ErrorF("-timeout int auto-disconnect timeout in seconds (minimum allowed: 60)\n");
ErrorF("-norootlessexit don't exit if there are no clients in rootless mode\n");
+ ErrorF("-nomagicpixel disable nxagent's magic pixel\n");
#ifdef RENDER
ErrorF("-norender disable the use of the render extension\n");
ErrorF("-nocomposite disable the use of the composite extension\n");
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Events.c b/nx-X11/programs/Xserver/hw/nxagent/Events.c
index 315b657..8681ab2 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Events.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Events.c
@@ -1218,7 +1218,7 @@ FIXME: Don't enqueue the KeyRelease event if the key was
if (nxagentOption(Fullscreen))
{
- if (nxagentMagicPixelZone(X.xbutton.x, X.xbutton.y))
+ if ( (nxagentOption(MagicPixel) == 1) && (nxagentMagicPixelZone(X.xbutton.x, X.xbutton.y)) )
{
pScreen = nxagentScreen(X.xbutton.window);
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Options.c b/nx-X11/programs/Xserver/hw/nxagent/Options.c
index 3464fdb..dba54a6 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Options.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Options.c
@@ -155,6 +155,8 @@ void nxagentInitOptions()
nxagentOptions.Menu = 1;
+ nxagentOptions.MagicPixel = 1;
+
nxagentOptions.ClientOs = UNDEFINED;
nxagentOptions.InhibitXkb = 1;
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Options.h b/nx-X11/programs/Xserver/hw/nxagent/Options.h
index 95b0642..a4e2c50 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Options.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Options.h
@@ -386,6 +386,12 @@ typedef struct _AgentOptions
int Menu;
/*
+ * Enabling/disabling the magic pixel.
+ */
+
+ int MagicPixel;
+
+ /*
* Specify the Operative System of the client.
*/
diff --git a/nx-X11/programs/Xserver/hw/nxagent/man/nxagent.1 b/nx-X11/programs/Xserver/hw/nxagent/man/nxagent.1
index 124f087..1c0fe5f 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/man/nxagent.1
+++ b/nx-X11/programs/Xserver/hw/nxagent/man/nxagent.1
@@ -399,6 +399,10 @@ auto-disconnect timeout in seconds (minimum allowed: 60)
.B \-norootlessexit
don't exit if there are no clients in rootless mode
.TP 8
+.B \-nomagicpixel
+disable magic pixel support at session startup, can be re-enabled via nx/nx option on session
+resumption
+.TP 8
.B \-norender
disable the use of the render extension
.TP 8
@@ -599,6 +603,9 @@ overrides the command line default.
support pulldown menu in \fBnxagent\fR session (only available on
proxy <-> agent remote sessions)
.TP 8
+.B magicpixel=<int>
+enable/disable magic pixel support in fullscreen mode (default: 1, enabled)
+.TP 8
.B sleep=<int>
delay X server operations when suspended (provided in msec), set to
\fI0\fR to keep \fBnxagent\fR session fully functional when suspended
diff --git a/nxcomp/src/Loop.cpp b/nxcomp/src/Loop.cpp
index 754c55c..4862748 100644
--- a/nxcomp/src/Loop.cpp
+++ b/nxcomp/src/Loop.cpp
@@ -8474,7 +8474,8 @@ int ParseEnvironmentOptions(const char *env, int force)
else if (strcasecmp(name, "defer") == 0 ||
strcasecmp(name, "tile") == 0 ||
strcasecmp(name, "menu") == 0 ||
- strcasecmp(name, "state") == 0 )
+ strcasecmp(name, "magicpixel") == 0 ||
+ strcasecmp(name, "state") == 0 )
{
nxdbg << "Loop: Ignoring agent option '" << name
<< "' with value '" << value << "'.\n"
diff --git a/nxcomp/src/Misc.cpp b/nxcomp/src/Misc.cpp
index 7e468f1..b6bf245 100644
--- a/nxcomp/src/Misc.cpp
+++ b/nxcomp/src/Misc.cpp
@@ -343,6 +343,7 @@ shadowmode=s\n\
defer=n\n\
tile=s\n\
menu=n\n\
+magicpixel=n\n\
sleep=n\n\
tolerancechecks=s\n\
keyconv=s\n\
diff --git a/nxproxy/man/nxproxy.1 b/nxproxy/man/nxproxy.1
index bf194e7..260465a 100644
--- a/nxproxy/man/nxproxy.1
+++ b/nxproxy/man/nxproxy.1
@@ -327,6 +327,7 @@ encryption of the point to point communication.
defer=<int>
tile=<string>
menu=<int>
+ magicpixel=<int>
sleep=<int>
.SH NX ENVIRONMENT VARIABLES
--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
More information about the x2go-commits
mailing list