Commit d30ef034 authored by Reinhard Tartler's avatar Reinhard Tartler

Imported nxagent-3.4.0-3.tar.gz

Summary: Imported nxagent-3.4.0-3.tar.gz Keywords: Imported nxagent-3.4.0-3.tar.gz into Git repository
parent 25af86cd
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
...@@ -562,15 +562,11 @@ int ddxProcessArgument(int argc, char *argv[], int i) ...@@ -562,15 +562,11 @@ int ddxProcessArgument(int argc, char *argv[], int i)
if (!strcmp(argv[i],"fullscreen")) if (!strcmp(argv[i],"fullscreen"))
{ {
nxagentChangeOption(Fullscreen, True); nxagentChangeOption(Fullscreen, True);
nxagentChangeOption(AllScreens, True);
} }
else if (!strcmp(argv[i],"ipaq")) else if (!strcmp(argv[i],"ipaq"))
{ {
nxagentChangeOption(Fullscreen, True); nxagentChangeOption(Fullscreen, True);
nxagentChangeOption(AllScreens, True);
nxagentIpaq = True; nxagentIpaq = True;
} }
else else
...@@ -1075,14 +1071,10 @@ static void nxagentParseOptions(char *name, char *value) ...@@ -1075,14 +1071,10 @@ static void nxagentParseOptions(char *name, char *value)
else if (!strcmp(value, "1")) else if (!strcmp(value, "1"))
{ {
nxagentChangeOption(Fullscreen, True); nxagentChangeOption(Fullscreen, True);
nxagentChangeOption(AllScreens, True);
} }
else if (!strcmp(value, "0")) else if (!strcmp(value, "0"))
{ {
nxagentChangeOption(Fullscreen, False); nxagentChangeOption(Fullscreen, False);
nxagentChangeOption(AllScreens, False);
} }
else else
{ {
...@@ -1216,7 +1208,7 @@ static void nxagentParseOptions(char *name, char *value) ...@@ -1216,7 +1208,7 @@ static void nxagentParseOptions(char *name, char *value)
{ {
nxagentChangeOption(ClientOs, ClientOsSolaris); nxagentChangeOption(ClientOs, ClientOsSolaris);
} }
else if (strcmp(value, "macosx") == 0) else if (strcmp(value, "mac") == 0)
{ {
nxagentChangeOption(ClientOs, ClientOsMac); nxagentChangeOption(ClientOs, ClientOsMac);
} }
...@@ -1520,7 +1512,7 @@ N/A ...@@ -1520,7 +1512,7 @@ N/A
int splitMode = 0; int splitMode = 0;
int splitSize = 0; int splitSize = 0;
unsigned int packMethod = PACK_NONE; unsigned int packMethod = PACK_NONE;
unsigned int packQuality = 9; unsigned int packQuality = 9;
int dataLevel = 0; int dataLevel = 0;
...@@ -1688,11 +1680,6 @@ N/A ...@@ -1688,11 +1680,6 @@ N/A
nxagentChangeOption(Fullscreen, False); nxagentChangeOption(Fullscreen, False);
} }
if (nxagentOption(AllScreens) == UNDEFINED)
{
nxagentChangeOption(AllScreens, False);
}
if (nxagentOption(Binder) == UNDEFINED) if (nxagentOption(Binder) == UNDEFINED)
{ {
nxagentChangeOption(Binder, False); nxagentChangeOption(Binder, False);
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
...@@ -66,21 +66,19 @@ Atom nxagentAtoms[NXAGENT_NUMBER_OF_ATOMS]; ...@@ -66,21 +66,19 @@ Atom nxagentAtoms[NXAGENT_NUMBER_OF_ATOMS];
static char *nxagentAtomNames[NXAGENT_NUMBER_OF_ATOMS + 1] = static char *nxagentAtomNames[NXAGENT_NUMBER_OF_ATOMS + 1] =
{ {
"NX_IDENTITY", /* 0 */ "NX_IDENTITY", /* 0 */
"WM_PROTOCOLS", /* 1 */ "WM_PROTOCOLS", /* 1 */
"WM_DELETE_WINDOW", /* 2 */ "WM_DELETE_WINDOW", /* 2 */
"WM_NX_READY", /* 3 */ "WM_NX_READY", /* 3 */
"MCOPGLOBALS", /* 4 */ "MCOPGLOBALS", /* 4 */
"NX_CUT_BUFFER_SERVER", /* 5 */ "NX_CUT_BUFFER_SERVER", /* 5 */
"TARGETS", /* 6 */ "TARGETS", /* 6 */
"TEXT", /* 7 */ "TEXT", /* 7 */
"NX_AGENT_SIGNATURE", /* 8 */ "NX_AGENT_SIGNATURE", /* 8 */
"NXDARWIN", /* 9 */ "NXDARWIN", /* 9 */
"CLIPBOARD", /* 10 */ "CLIPBOARD", /* 10 */
"TIMESTAMP", /* 11 */ "TIMESTAMP", /* 11 */
"UTF8_STRING", /* 12 */ "UTF8_STRING", /* 12 */
"_NET_WM_STATE", /* 13 */
"_NET_WM_STATE_FULLSCREEN", /* 14 */
NULL, NULL,
NULL NULL
}; };
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include "../../include/window.h" #include "../../include/window.h"
#include "screenint.h" #include "screenint.h"
#define NXAGENT_NUMBER_OF_ATOMS 16 #define NXAGENT_NUMBER_OF_ATOMS 14
extern Atom nxagentAtoms[NXAGENT_NUMBER_OF_ATOMS]; extern Atom nxagentAtoms[NXAGENT_NUMBER_OF_ATOMS];
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
ChangeLog: ChangeLog:
nxagent-3.4.0-16
- Updated copyright to year 2011.
nxagent-3.4.0-15
- Added reference to fixed TR11H02405.
nxagent-3.4.0-14
- Reverted fix for TR03H02335 implemented in nxagent-3.4.0-6. The
emulation of right click by Control key + left click introduces
issues for some applications changing the reaction to the left click
depending on the state of Control key. Issue reported in TR03H02335
affects Apple laptop touchpads having a single button acting as
left button: on those devices the right button can be emulated by
a double-fingered tap (using two fingertips simultaneously).
nxagent-3.4.0-13
- Fixed TR12H02414. Exported property must be split if ChangeProperty
request exceeds 262140 bytes.
- Reset AllScreens option at reconnection time if full screen mode
have to be automatically turned off.
nxagent-3.4.0-12
- If one of the two full screen modes is active ('one screen' or 'all
screens') both keystrokes Ctrl-Alt-F and Ctrl-Alt-Shift-F change the
mode back to 'windowed'.
- Fixed TR11H02405. XRenderFreePicture is called only for pictures
that were actually created on the X server side.
- Ctrl+Alt+f switch fullscreen to all monitors, while Ctrl+Alt+Shift+f
does it to one monitor only.
- If the fullscreen option is enabled at the startup, session starts
in the fullscreen mode on all monitors.
- Added a call to XReparentWindow in the nxagentSwitchAllScreens().
- Corrected focus and grab when switching to fullscreen on
all monitors.
- Removed a compile warning e deleted some unused variables.
- Removed nxagentPointerAndKeyboardGrabbed variable.
- Use the override redirect attribute to switch to fullscreen to all
monitors instead of send _NET_WM_FULLSCREEN_MONITORS hint to the WM.
- Added nxagentMinimizeFromFullScreen(), nxagentMaximizeToFullScreen()
and nxagentCreateIconWindow().
- Removed check on EnterNotify to grab the keyboard in fullscreen
mode not only if mode is 'NotifyNormal'.
nxagent-3.4.0-11
- Corrected switching between viewport mode and resize mode.
- Fixed TR04H02340. Keycode is correctly translated in shadow sessions
also if the remote X display is using evdev.
nxagent-3.4.0-10
- Handled XGrabKeyboard() return value.
- Fixed TR10D01512. NumLock and CapsLock keys are now synchronized
between local and remote.
nxagent-3.4.0-9
- Fixed TR06H02362. No icon was swown in the task bar.
- Fixed keyboard grab in fullscreen mode.
- Fixed compiler warnings.
nxagent-3.4.0-8
- Grab the keyboard in fullscreen mode on EnterNotify only if mode is
'NotifyNormal'.
- Yield control in the dispatch loop in case we stop the smart sche-
duler timer while waiting for a reply from the remote display.
nxagent-3.4.0-7
- Fixed TR08D01478. The communication with the compiz window manager
by means of the _NET_WM_PING property was not handled properly.
- Fixed a type mismatch in XKB events on 64 bit platforms.
- Moved grab/ungrab keyboard from focus in/out event to enter/leave
notify event.
- Removed nxagentIconWindow because it's not longer used.
nxagent-3.4.0-6
- Fixed TR09F02102. Problem was with pointer buttons map.
- Fixed TR02H02327. Some KeyRelease events was discarded.
- Fixed up Num and Caps locks.
- Fixed TR03H02335. Emulated right mouse button for Mac clients.
- Added utilities to print info about internal and remote windows.
- Fixed TR01F01995. Solved a picture resource leak by destroying remo-
te pictures only when their reference counter returns to zero.
- Fixed TR04H02337. Errors occurred because pictures with no drawable
were handled badly.
- Implemented handling nxagent's private for gradient pictures and so-
lid fill picture.
- Fixed BadMatch condition check in function ProcRenderComposite.
- Fixed nxagentComposite() to handle situations with source picture
drawable pointing to NULL.
- Implemented render acceleration for requests: CreateSolidFill,
CreateLinearGradient, CreateRadialGradient, CreateConicalGradient.
- Fixed TR03G02196. Dialogs are shown to the fore when the NX session
is in fullscreen mode.
- Changed mechanism to switch to fullscreen mode. Now the override
redirect attribute is no longer used and _NET_WM_STATE_FULLSCREEN
hint is sent to the WM.
nxagent-3.4.0-5
- Updated copyright to year 2010.
nxagent-3.4.0-4
- Fixed TR07F02090. Now XDMCP sessions start without problems.
- Fixed TR08G02259. Corrected window border granularity of rootless
session at reconnection on 64 bit platforms.
- Fixed TR11G02290. Forcing null timeout with queued events only if
display connection is up. This prevents the flood of session log.
- Fixed TR10G02287. Now QueryTree's loop is aborted in case of failure
and session log isn't filled anymore with repeated warning messages.
- Fixed TR01G02154. Corrected window placement when switching between
fullscreen and windowed mode.
- Fixed TR09G02276. Now the agent does not receive unwanted characters
while interacting with the local window manager.
- Implemented FR02G02174. Added ability to do large screen pans in
viewport mode through key combination Ctrl+Alt+Shift+Arrow.
- Corrected parsing of the 'client' option when the client OS is Mac.
nxagent-3.4.0-3 nxagent-3.4.0-3
- Fixed TR09G02271. The array containing the font name fields was not - Fixed TR09G02271. The array containing the font name fields was not
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
...@@ -29,15 +29,9 @@ enum HandleEventResult ...@@ -29,15 +29,9 @@ enum HandleEventResult
{ {
doNothing = 0, doNothing = 0,
doMinimize, doMinimize,
doDebugTree,
doCloseSession, doCloseSession,
doStartKbd, doStartKbd,
doSwitchFullscreen, doSwitchFullscreen,
doSwitchAllScreens,
doViewportMoveUp,
doViewportMoveLeft,
doViewportMoveRight,
doViewportMoveDown,
doViewportLeft, doViewportLeft,
doViewportUp, doViewportUp,
doViewportRight, doViewportRight,
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
...@@ -527,8 +527,7 @@ void nxagentBlockHandler(pointer data, struct timeval **timeout, pointer mask) ...@@ -527,8 +527,7 @@ void nxagentBlockHandler(pointer data, struct timeval **timeout, pointer mask)
synchronize, nxagentReady); synchronize, nxagentReady);
#endif #endif
if (NXDisplayError(nxagentDisplay) == 0 && if (nxagentQueuedEvents(nxagentDisplay) > 0)
nxagentQueuedEvents(nxagentDisplay) > 0)
{ {
#ifdef WARNING #ifdef WARNING
fprintf(stderr, "nxagentBlockHandler: WARNING! Forcing a null timeout with events queued.\n"); fprintf(stderr, "nxagentBlockHandler: WARNING! Forcing a null timeout with events queued.\n");
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -206,8 +206,7 @@ DEFINES = -g $(OS_DEFINES) $(EXT_DEFINES) $(UPG_DEFINES) \ ...@@ -206,8 +206,7 @@ DEFINES = -g $(OS_DEFINES) $(EXT_DEFINES) $(UPG_DEFINES) \
-DNXAGENT_SPLASH \ -DNXAGENT_SPLASH \
-DNXAGENT_ARTSD \ -DNXAGENT_ARTSD \
-UNX_DEBUG_INPUT \ -UNX_DEBUG_INPUT \
-UPANORAMIX \ -UPANORAMIX
-UDEBUG_TREE
all:: $(OBJS) all:: $(OBJS)
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
...@@ -193,7 +193,7 @@ void InitOutput(ScreenInfo *screenInfo, int argc, char *argv[]) ...@@ -193,7 +193,7 @@ void InitOutput(ScreenInfo *screenInfo, int argc, char *argv[])
if (serverGeneration <= 1) if (serverGeneration <= 1)
{ {
fprintf(stderr, "\nNXAGENT - Version " NXAGENT_VERSION "\n\n"); fprintf(stderr, "\nNXAGENT - Version " NXAGENT_VERSION "\n\n");
fprintf(stderr, "Copyright (C) 2001, 2010 NoMachine.\n"); fprintf(stderr, "Copyright (C) 2001, 2007 NoMachine.\n");
fprintf(stderr, "See http://www.nomachine.com/ for more information.\n\n"); fprintf(stderr, "See http://www.nomachine.com/ for more information.\n\n");
fprintf(stderr, "Info: Agent running with pid '%d'.\n", getpid()); fprintf(stderr, "Info: Agent running with pid '%d'.\n", getpid());
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
...@@ -92,18 +92,6 @@ int nxagentCheckSpecialKeystroke(XKeyEvent *X, enum HandleEventResult *result) ...@@ -92,18 +92,6 @@ int nxagentCheckSpecialKeystroke(XKeyEvent *X, enum HandleEventResult *result)
{ {
switch (sym) switch (sym)
{ {
#ifdef DEBUG_TREE
case XK_q:
case XK_Q:
{
*result = doDebugTree;
break;
}
#endif /* DEBUG_TREE */
case XK_t: case XK_t:
case XK_T: case XK_T:
{ {
...@@ -116,7 +104,7 @@ int nxagentCheckSpecialKeystroke(XKeyEvent *X, enum HandleEventResult *result) ...@@ -116,7 +104,7 @@ int nxagentCheckSpecialKeystroke(XKeyEvent *X, enum HandleEventResult *result)
{ {
if (nxagentOption(Rootless) == False) if (nxagentOption(Rootless) == False)
{ {
*result = doSwitchAllScreens; *result = doSwitchFullscreen;
} }
break; break;
...@@ -276,68 +264,6 @@ int nxagentCheckSpecialKeystroke(XKeyEvent *X, enum HandleEventResult *result) ...@@ -276,68 +264,6 @@ int nxagentCheckSpecialKeystroke(XKeyEvent *X, enum HandleEventResult *result)
#endif #endif
} }
} }
else if ((X -> state & nxagentAltMetaMask) &&
((X -> state & (ControlMask | ShiftMask)) == (ControlMask |
ShiftMask)))
{
switch (sym)
{
case XK_f:
case XK_F:
{
if (nxagentOption(Rootless) == 0)
{
*result = doSwitchFullscreen;
}
break;
}
case XK_Left:
case XK_KP_Left:
{
if (nxagentOption(Rootless) == 0 &&
nxagentOption(DesktopResize) == 0)
{
*result = doViewportMoveLeft;
}
break;
}
case XK_Up:
case XK_KP_Up:
{
if (nxagentOption(Rootless) == 0 &&
nxagentOption(DesktopResize) == 0)
{
*result = doViewportMoveUp;
}
break;
}
case XK_Right:
case XK_KP_Right:
{
if (nxagentOption(Rootless) == 0 &&
nxagentOption(DesktopResize) == 0)
{
*result = doViewportMoveRight;
}
break;
}
case XK_Down:
case XK_KP_Down:
{
if (nxagentOption(Rootless) == 0 &&
nxagentOption(DesktopResize) == 0)
{
*result = doViewportMoveDown;
}
break;
}
}
}
return (*result == doNothing) ? 0 : 1; return (*result == doNothing) ? 0 : 1;
} }
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
Copyright (c) 2001, 2011 NoMachine - http://www.nomachine.com/. Copyright (c) 2001, 2009 NoMachine - http://www.nomachine.com/.
NXAGENT and NX extensions to X are copyright of NoMachine. NXAGENT and NX extensions to X are copyright of NoMachine.
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
...@@ -63,9 +63,6 @@ void nxagentInitOptions() ...@@ -63,9 +63,6 @@ void nxagentInitOptions()
nxagentOptions.Height = 0; nxagentOptions.Height = 0;
nxagentOptions.BorderWidth = 0; nxagentOptions.BorderWidth = 0;
nxagentOptions.WMBorderWidth = -1;
nxagentOptions.WMTitleHeight = -1;
nxagentOptions.SavedX = 0; nxagentOptions.SavedX = 0;
nxagentOptions.SavedY = 0; nxagentOptions.SavedY = 0;
nxagentOptions.SavedWidth = 0; nxagentOptions.SavedWidth = 0;
...@@ -171,9 +168,6 @@ void nxagentResetOptions() ...@@ -171,9 +168,6 @@ void nxagentResetOptions()
nxagentOptions.TileWidth = UNDEFINED; nxagentOptions.TileWidth = UNDEFINED;
nxagentOptions.TileHeight = UNDEFINED; nxagentOptions.TileHeight = UNDEFINED;
nxagentOptions.WMBorderWidth = -1;
nxagentOptions.WMTitleHeight = -1;
} }
void nxagentSaveOptions() void nxagentSaveOptions()
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
...@@ -103,13 +103,6 @@ typedef struct _AgentOptions ...@@ -103,13 +103,6 @@ typedef struct _AgentOptions
int Fullscreen; int Fullscreen;
/* /*
* True if the fullscreen NX session will
* extend on all available screens.
*/
int AllScreens;
/*
* Set to the auto-disconnect timeout, if * Set to the auto-disconnect timeout, if
* the user activated this feature. * the user activated this feature.
*/ */
...@@ -133,9 +126,6 @@ typedef struct _AgentOptions ...@@ -133,9 +126,6 @@ typedef struct _AgentOptions
* screen. * screen.
*/ */
int WMBorderWidth;
int WMTitleHeight;
int SavedX; int SavedX;
int SavedY; int SavedY;
int SavedWidth; int SavedWidth;
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
...@@ -108,12 +108,6 @@ FIXME: The condition checking for the render ...@@ -108,12 +108,6 @@ FIXME: The condition checking for the render
avoid problems with the render composi- avoid problems with the render composi-
te on XFree86 remote server. te on XFree86 remote server.
*/ */
/*
FIXME: Changed macro: NXAGENT_SHOULD_DEFER_COMPOSITE
to handle situation, when pSrc -> pDrawable
is NULL. This case happens with gradients
and solid fill.
#define NXAGENT_SHOULD_DEFER_COMPOSITE(pSrc, pMask, pDst) \ #define NXAGENT_SHOULD_DEFER_COMPOSITE(pSrc, pMask, pDst) \
((nxagentRenderVersionMajor == 0 && \ ((nxagentRenderVersionMajor == 0 && \
nxagentRenderVersionMinor == 8 && \ nxagentRenderVersionMinor == 8 && \
...@@ -124,18 +118,6 @@ FIXME: Changed macro: NXAGENT_SHOULD_DEFER_COMPOSITE ...@@ -124,18 +118,6 @@ FIXME: Changed macro: NXAGENT_SHOULD_DEFER_COMPOSITE
nxagentOption(DeferLevel) == 1) || \ nxagentOption(DeferLevel) == 1) || \
(nxagentOption(DeferLevel) >= 2 && \ (nxagentOption(DeferLevel) >= 2 && \
nxagentOption(LinkType) < LINK_TYPE_ADSL)) nxagentOption(LinkType) < LINK_TYPE_ADSL))
*/
#define NXAGENT_SHOULD_DEFER_COMPOSITE(pSrc, pMask, pDst) \
((nxagentRenderVersionMajor == 0 && \
nxagentRenderVersionMinor == 8 && \
(pDst) -> pDrawable -> type == DRAWABLE_PIXMAP) || \
(nxagentOption(DeferLevel) >= 2 && \
nxagentOption(LinkType) < LINK_TYPE_ADSL) || \
(nxagentOption(DeferLevel) == 1 && \
(pDst) -> pDrawable -> type == DRAWABLE_PIXMAP && \
(((pSrc) -> pDrawable && nxagentDrawableStatus((pSrc) -> pDrawable) == NotSynchronized) || \
((pMask) && nxagentDrawableStatus((pMask) -> pDrawable) == NotSynchronized))))
#define NXAGENT_SHOULD_DEFER_PUTIMAGE(pDrawable) \ #define NXAGENT_SHOULD_DEFER_PUTIMAGE(pDrawable) \
(nxagentSplitTrap == 0 && \ (nxagentSplitTrap == 0 && \
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
...@@ -57,13 +57,6 @@ is" without express or implied warranty. ...@@ -57,13 +57,6 @@ is" without express or implied warranty.
#undef TEST #undef TEST
#undef DEBUG #undef DEBUG
/*
* The nxagentReversePointerMap array is used to
* memorize remote display pointer map.
*/
unsigned char nxagentReversePointerMap[MAXBUTTONS];
void nxagentChangePointerControl(DeviceIntPtr pDev, PtrCtrl *ctrl) void nxagentChangePointerControl(DeviceIntPtr pDev, PtrCtrl *ctrl)
{ {
/* /*
...@@ -132,8 +125,6 @@ int nxagentPointerProc(DeviceIntPtr pDev, int onoff) ...@@ -132,8 +125,6 @@ int nxagentPointerProc(DeviceIntPtr pDev, int onoff)
return Success; return Success;
} }
nxagentInitPointerMap();
nxagentEnablePointerEvents(); nxagentEnablePointerEvents();
break; break;
...@@ -164,28 +155,3 @@ int nxagentPointerProc(DeviceIntPtr pDev, int onoff) ...@@ -164,28 +155,3 @@ int nxagentPointerProc(DeviceIntPtr pDev, int onoff)
return Success; return Success;
} }
void nxagentInitPointerMap(void)
{
int numButtons;
int i;
unsigned char pointerMap[MAXBUTTONS];
#ifdef DEBUG
fprintf(stderr, "nxagentInitPointerMap: Going to retrieve the "
"pointer map from remote display.\n");
#endif
numButtons = XGetPointerMapping(nxagentDisplay, pointerMap, MAXBUTTONS);
/*
* Computing revers pointer map.
*/
for (i = 1; i <= numButtons; i++)
{
nxagentReversePointerMap[pointerMap[i - 1] - 1] = i;
}
}
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
...@@ -38,17 +38,8 @@ is" without express or implied warranty. ...@@ -38,17 +38,8 @@ is" without express or implied warranty.
(ButtonPressMask | ButtonReleaseMask | PointerMotionMask | \ (ButtonPressMask | ButtonReleaseMask | PointerMotionMask | \
EnterWindowMask | LeaveWindowMask) EnterWindowMask | LeaveWindowMask)
/*
* The nxagentReversePointerMap array is used to
* memorize remote display pointer map.
*/
extern unsigned char nxagentReversePointerMap[MAXBUTTONS];
void nxagentChangePointerControl(DeviceIntPtr pDev, PtrCtrl *ctrl); void nxagentChangePointerControl(DeviceIntPtr pDev, PtrCtrl *ctrl);
int nxagentPointerProc(DeviceIntPtr pDev, int onoff); int nxagentPointerProc(DeviceIntPtr pDev, int onoff);
void nxagentInitPointerMap(void);
#endif /* __Pointer_H__ */ #endif /* __Pointer_H__ */
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
...@@ -81,8 +81,6 @@ extern Bool nxagentUninstallFontServerPath(void); ...@@ -81,8 +81,6 @@ extern Bool nxagentUninstallFontServerPath(void);
extern void nxagentRemoveXConnection(void); extern void nxagentRemoveXConnection(void);
extern void nxagentInitPointerMap(void);
static char *nxagentGetReconnectError(void); static char *nxagentGetReconnectError(void);
void nxagentInitializeRecLossyLevel(void); void nxagentInitializeRecLossyLevel(void);
...@@ -586,8 +584,6 @@ Bool nxagentReconnectSession(void) ...@@ -586,8 +584,6 @@ Bool nxagentReconnectSession(void)
nxagentOldKeyboard = NULL; nxagentOldKeyboard = NULL;
} }
nxagentInitPointerMap();
nxagentDeactivatePointerGrab(); nxagentDeactivatePointerGrab();
nxagentWakeupByReconnect(); nxagentWakeupByReconnect();
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
...@@ -105,6 +105,4 @@ void nxagentDisconnectPicture(pointer p0, XID x1, void* p2); ...@@ -105,6 +105,4 @@ void nxagentDisconnectPicture(pointer p0, XID x1, void* p2);
void nxagentReconnectGlyphSet(void* p0, XID x1, void *p2); void nxagentReconnectGlyphSet(void* p0, XID x1, void *p2);
void nxagentDestroyPicture(PicturePtr pPicture);
#endif /* __Render_H__ */ #endif /* __Render_H__ */
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
...@@ -626,7 +626,6 @@ int nxagentExportProperty(pWin, property, type, format, mode, nUnits, value) ...@@ -626,7 +626,6 @@ int nxagentExportProperty(pWin, property, type, format, mode, nUnits, value)
XlibAtom *atoms = malloc(nUnits * sizeof(*atoms)); XlibAtom *atoms = malloc(nUnits * sizeof(*atoms));
Atom *input = value; Atom *input = value;
int i; int i;
int j = 0;
freeMem = True; freeMem = True;
export = True; export = True;
...@@ -634,40 +633,16 @@ int nxagentExportProperty(pWin, property, type, format, mode, nUnits, value) ...@@ -634,40 +633,16 @@ int nxagentExportProperty(pWin, property, type, format, mode, nUnits, value)
for (i = 0; i < nUnits; i++) for (i = 0; i < nUnits; i++)
{ {
/* atoms[i] = nxagentLocalToRemoteAtom(input[i]);
* Exporting the _NET_WM_PING property could
* result in rootless windows being grayed out if (atoms[i] == None)
* when the compiz window manager is running. {
* #ifdef WARNING
* Better solution would probably be to handle fprintf(stderr, "nxagentExportProperty: WARNING! Failed to convert local atom %ld [%s].\n",
* the communication with the window manager (long int) input[i], validateString(NameForAtom(input[i])));
* instead of just getting rid of the property. #endif
*/ }
if (strcmp(NameForAtom(input[i]), "_NET_WM_PING") != 0)
{
atoms[j] = nxagentLocalToRemoteAtom(input[i]);
if (atoms[j] == None)
{
#ifdef WARNING
fprintf(stderr, "nxagentExportProperty: WARNING! Failed to convert local atom %ld [%s].\n",
(long int) input[i], validateString(NameForAtom(input[i])));
#endif
}
j++;
}
#ifdef TEST
else
{
fprintf(stderr, "nxagentExportProperty: WARNING! "
"Not exporting the _NET_WM_PING property.\n");
}
#endif
} }
nUnits = j;
} }
else if (strcmp(typeS, "WINDOW") == 0) else if (strcmp(typeS, "WINDOW") == 0)
{ {
...@@ -725,57 +700,7 @@ int nxagentExportProperty(pWin, property, type, format, mode, nUnits, value) ...@@ -725,57 +700,7 @@ int nxagentExportProperty(pWin, property, type, format, mode, nUnits, value)
} }
else else
{ {
#ifdef TEST XChangeProperty(nxagentDisplay, nxagentWindow(pWin), propertyX, typeX, format, mode, (void*)output, nUnits);
fprintf(stderr, "nxagentExportProperty: Property [%lu] format [%i] "
"units [%lu].\n", propertyX, format, nUnits);
#endif
if ((format >> 3) * nUnits + sizeof(xChangePropertyReq) <
(MAX_REQUEST_SIZE << 2))
{
XChangeProperty(nxagentDisplay, nxagentWindow(pWin), propertyX, typeX,
format, mode, (void*)output, nUnits);
}
else if (mode == PropModeReplace)
{
int n;
char *data;
XDeleteProperty(nxagentDisplay, nxagentWindow(pWin), propertyX);
data = (char *) output;
while (nUnits > 0)
{
if ((format >> 3) * nUnits + sizeof(xChangePropertyReq) <
(MAX_REQUEST_SIZE << 2))
{
n = nUnits;
}
else
{
n = ((MAX_REQUEST_SIZE << 2) - sizeof(xChangePropertyReq)) /
(format >> 3);
}
XChangeProperty(nxagentDisplay, nxagentWindow(pWin), propertyX,
typeX, format, PropModeAppend, (void*) data, n);
nUnits -= n;
data = (char *) data + n * (format >> 3);
}
}
else
{
#ifdef WARNING
fprintf(stderr, "nxagentExportProperty: WARNING! "
"Property [%lu] too long.\n", propertyX);
#endif
goto nxagentExportPropertyError;
}
nxagentAddPropertyToList(propertyX, pWin); nxagentAddPropertyToList(propertyX, pWin);
} }
} }
...@@ -790,8 +715,6 @@ int nxagentExportProperty(pWin, property, type, format, mode, nUnits, value) ...@@ -790,8 +715,6 @@ int nxagentExportProperty(pWin, property, type, format, mode, nUnits, value)
#endif #endif
} }
nxagentExportPropertyError:
if (freeMem) if (freeMem)
{ {
xfree(output); xfree(output);
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
......
/**************************************************************************/ /**************************************************************************/
/* */ /* */
/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */
/* */ /* */
/* NXAGENT, NX protocol compression and NX extensions to this software */ /* NXAGENT, NX protocol compression and NX extensions to this software */
/* are copyright of NoMachine. Redistribution and use of the present */ /* are copyright of NoMachine. Redistribution and use of the present */
...@@ -292,7 +292,7 @@ void nxagentMinimizeFromFullScreen(ScreenPtr pScreen) ...@@ -292,7 +292,7 @@ void nxagentMinimizeFromFullScreen(ScreenPtr pScreen)
{ {
XUnmapWindow(nxagentDisplay, nxagentFullscreenWindow); XUnmapWindow(nxagentDisplay, nxagentFullscreenWindow);
if (nxagentIpaq) if(nxagentIpaq)
{ {
XMapWindow(nxagentDisplay, nxagentIconWindow); XMapWindow(nxagentDisplay, nxagentIconWindow);
XIconifyWindow(nxagentDisplay, nxagentIconWindow, XIconifyWindow(nxagentDisplay, nxagentIconWindow,
...@@ -307,7 +307,7 @@ void nxagentMinimizeFromFullScreen(ScreenPtr pScreen) ...@@ -307,7 +307,7 @@ void nxagentMinimizeFromFullScreen(ScreenPtr pScreen)
void nxagentMaximizeToFullScreen(ScreenPtr pScreen) void nxagentMaximizeToFullScreen(ScreenPtr pScreen)
{ {
if (nxagentIpaq) if(nxagentIpaq)
{ {
XUnmapWindow(nxagentDisplay, nxagentIconWindow); XUnmapWindow(nxagentDisplay, nxagentIconWindow);
...@@ -334,7 +334,7 @@ FIXME: We'll chech for ReparentNotify and LeaveNotify events after XReparentWind ...@@ -334,7 +334,7 @@ FIXME: We'll chech for ReparentNotify and LeaveNotify events after XReparentWind
for (i = 0; i < 100 && nxagentWMIsRunning; i++) for (i = 0; i < 100 && nxagentWMIsRunning; i++)
{ {
#ifdef TEST #ifdef TEST
fprintf(stderr, "nxagentMaximizeToFullscreen: WARNING! Going to wait for the ReparentNotify event.\n"); fprintf(stderr, "nxagentSwitchFullscreen: WARNING! Going to wait for the ReparentNotify event.\n");
#endif #endif
if (XCheckTypedWindowEvent(nxagentDisplay, nxagentFullscreenWindow, ReparentNotify, &e)) if (XCheckTypedWindowEvent(nxagentDisplay, nxagentFullscreenWindow, ReparentNotify, &e))
...@@ -977,10 +977,6 @@ Bool nxagentOpenScreen(int index, ScreenPtr pScreen, ...@@ -977,10 +977,6 @@ Bool nxagentOpenScreen(int index, ScreenPtr pScreen,
nxagentChangeOption(Fullscreen, False); nxagentChangeOption(Fullscreen, False);
nxagentChangeOption(AllScreens, False);
nxagentFullscreenWindow = 0;
resetAgentPosition = True; resetAgentPosition = True;
} }
...@@ -1384,13 +1380,10 @@ N/A ...@@ -1384,13 +1380,10 @@ N/A
nxagentChangeOption(Height, gattributes.height); nxagentChangeOption(Height, gattributes.height);
} }
if (nxagentOption(AllScreens))
{
attributes.override_redirect = True;
}
if (nxagentOption(Fullscreen)) if (nxagentOption(Fullscreen))
{ {
attributes.override_redirect = True;
/* /*
* We need to disable the host's screensaver or * We need to disable the host's screensaver or
* it will otherwise grab the screen even if it * it will otherwise grab the screen even if it
...@@ -1617,7 +1610,7 @@ N/A ...@@ -1617,7 +1610,7 @@ N/A
nxagentReconnectTrap == 1) nxagentReconnectTrap == 1)
{ {
valuemask = CWBackPixel | CWEventMask | CWColormap | valuemask = CWBackPixel | CWEventMask | CWColormap |
(nxagentOption(AllScreens) == 1 ? CWOverrideRedirect : 0); (nxagentOption(Fullscreen) == 1 ? CWOverrideRedirect : 0);
attributes.background_pixel = nxagentBlackPixel; attributes.background_pixel = nxagentBlackPixel;
...@@ -1625,13 +1618,10 @@ N/A ...@@ -1625,13 +1618,10 @@ N/A
attributes.colormap = nxagentDefaultVisualColormap(nxagentDefaultVisual(pScreen)); attributes.colormap = nxagentDefaultVisualColormap(nxagentDefaultVisual(pScreen));
if (nxagentOption(AllScreens) == 1) if (nxagentOption(Fullscreen) == 1)
{ {
attributes.override_redirect = True; attributes.override_redirect = True;
}
if (nxagentOption(Fullscreen) == 1)
{
if (nxagentReconnectTrap) if (nxagentReconnectTrap)
{ {
/* /*
...@@ -1764,7 +1754,7 @@ N/A ...@@ -1764,7 +1754,7 @@ N/A
sizeHints.width = nxagentOption(RootWidth); sizeHints.width = nxagentOption(RootWidth);
sizeHints.height = nxagentOption(RootHeight); sizeHints.height = nxagentOption(RootHeight);
if (nxagentOption(DesktopResize) == 1 || nxagentOption(Fullscreen) == 1) if (nxagentOption(DesktopResize) == 1)
{ {
sizeHints.max_width = WidthOfScreen(DefaultScreenOfDisplay(nxagentDisplay)); sizeHints.max_width = WidthOfScreen(DefaultScreenOfDisplay(nxagentDisplay));
sizeHints.max_height = HeightOfScreen(DefaultScreenOfDisplay(nxagentDisplay)); sizeHints.max_height = HeightOfScreen(DefaultScreenOfDisplay(nxagentDisplay));
...@@ -1809,14 +1799,30 @@ N/A ...@@ -1809,14 +1799,30 @@ N/A
XClearWindow(nxagentDisplay, nxagentDefaultWindows[pScreen->myNum]); XClearWindow(nxagentDisplay, nxagentDefaultWindows[pScreen->myNum]);
if (nxagentOption(AllScreens)) if (nxagentOption(Fullscreen))
{
valuemask = CWBackPixmap | CWColormap | CWOverrideRedirect;
}
else
{
valuemask = CWBackPixmap | CWColormap;
}
attributes.background_pixmap = nxagentScreenSaverPixmap;
attributes.colormap = DefaultColormap(nxagentDisplay, DefaultScreen(nxagentDisplay));
if (nxagentOption(Fullscreen))
{ {
attributes.override_redirect = False;
if (nxagentReconnectTrap) if (nxagentReconnectTrap)
{ {
XGrabKeyboard(nxagentDisplay, nxagentFullscreenWindow, True, GrabModeAsync, XGrabKeyboard(nxagentDisplay, nxagentFullscreenWindow, True, GrabModeAsync,
GrabModeAsync, CurrentTime); GrabModeAsync, CurrentTime);
} }
}
if (nxagentOption(Fullscreen))
{
nxagentIconWindow = nxagentCreateIconWindow(); nxagentIconWindow = nxagentCreateIconWindow();
} }
else else
...@@ -1874,6 +1880,13 @@ N/A ...@@ -1874,6 +1880,13 @@ N/A
*/ */
XSetWMProtocols(nxagentDisplay, nxagentDefaultWindows[pScreen->myNum], &deleteWMatom, 1); XSetWMProtocols(nxagentDisplay, nxagentDefaultWindows[pScreen->myNum], &deleteWMatom, 1);
/*
if (nxagentOption(Fullscreen))
{
XSetWMProtocols(nxagentDisplay, nxagentIconWindow, &deleteWMatom, 1);
}
*/
} }
else else
{ {
...@@ -2172,6 +2185,8 @@ Bool nxagentResizeScreen(ScreenPtr pScreen, int width, int height, ...@@ -2172,6 +2185,8 @@ Bool nxagentResizeScreen(ScreenPtr pScreen, int width, int height,
int oldMmWidth; int oldMmWidth;
int oldMmHeight; int oldMmHeight;
RegionPtr pRootWinSize;
#ifdef TEST #ifdef TEST
nxagentPrintAgentGeometry("Before Resize Screen", "nxagentResizeScreen:"); nxagentPrintAgentGeometry("Before Resize Screen", "nxagentResizeScreen:");
#endif #endif
...@@ -2251,10 +2266,13 @@ FIXME: We should try to restore the previously ...@@ -2251,10 +2266,13 @@ FIXME: We should try to restore the previously
if (nxagentOption(Fullscreen)) if (nxagentOption(Fullscreen))
{ {
nxagentChangeOption(RootX, (nxagentOption(Width) - nxagentChangeOption(Width, WidthOfScreen(DefaultScreenOfDisplay(nxagentDisplay)));
nxagentOption(RootWidth)) / 2); nxagentChangeOption(Height, HeightOfScreen(DefaultScreenOfDisplay(nxagentDisplay)));
nxagentChangeOption(RootY, (nxagentOption(Height) -
nxagentOption(RootHeight)) / 2); nxagentChangeOption(RootX, (WidthOfScreen(DefaultScreenOfDisplay(nxagentDisplay))
- nxagentOption(RootWidth)) / 2);
nxagentChangeOption(RootY, (HeightOfScreen(DefaultScreenOfDisplay(nxagentDisplay))
- nxagentOption(RootHeight)) / 2);
} }
else else
{ {
...@@ -2266,6 +2284,62 @@ FIXME: We should try to restore the previously ...@@ -2266,6 +2284,62 @@ FIXME: We should try to restore the previously
nxagentChangeOption(ViewportYSpan, nxagentOption(Height) - nxagentOption(RootHeight)); nxagentChangeOption(ViewportYSpan, nxagentOption(Height) - nxagentOption(RootHeight));
/* /*
* Change agent window size and size hints.
*/
sizeHints.flags = PPosition | PMinSize | PMaxSize;
sizeHints.x = nxagentOption(X);
sizeHints.y = nxagentOption(Y);
sizeHints.min_width = MIN_NXAGENT_WIDTH;
sizeHints.min_height = MIN_NXAGENT_HEIGHT;
sizeHints.width = width;
sizeHints.height = height;
if (nxagentOption(DesktopResize) == 1)
{
sizeHints.max_width = WidthOfScreen(DefaultScreenOfDisplay(nxagentDisplay));
sizeHints.max_height = HeightOfScreen(DefaultScreenOfDisplay(nxagentDisplay));
}
else
{
sizeHints.max_width = nxagentOption(RootWidth);
sizeHints.max_height = nxagentOption(RootHeight);
}
if (nxagentUserGeometry.flag & XValue || nxagentUserGeometry.flag & YValue)
{
sizeHints.flags |= USPosition;
}
if (nxagentUserGeometry.flag & WidthValue || nxagentUserGeometry.flag & HeightValue)
{
sizeHints.flags |= USSize;
}
XSetWMNormalHints(nxagentDisplay, nxagentDefaultWindows[pScreen->myNum], &sizeHints);
if (nxagentOption(Fullscreen))
{
XResizeWindow(nxagentDisplay, nxagentDefaultWindows[pScreen->myNum],
WidthOfScreen(DefaultScreenOfDisplay(nxagentDisplay)),
HeightOfScreen(DefaultScreenOfDisplay(nxagentDisplay)));
XResizeWindow(nxagentDisplay, nxagentInputWindows[pScreen -> myNum],
WidthOfScreen(DefaultScreenOfDisplay(nxagentDisplay)),
HeightOfScreen(DefaultScreenOfDisplay(nxagentDisplay)));
}
else
{
XResizeWindow(nxagentDisplay, nxagentDefaultWindows[pScreen->myNum], width, height);
if (nxagentOption(Rootless) == 0)
{
XResizeWindow(nxagentDisplay, nxagentInputWindows[pScreen -> myNum], width, height);
}
}
/*
* Set properties for the agent root window. * Set properties for the agent root window.
*/ */
...@@ -2286,6 +2360,8 @@ FIXME: We should try to restore the previously ...@@ -2286,6 +2360,8 @@ FIXME: We should try to restore the previously
(*pScreen -> PositionWindow)(WindowTable[pScreen -> myNum], 0, 0); (*pScreen -> PositionWindow)(WindowTable[pScreen -> myNum], 0, 0);
pRootWinSize = &WindowTable[pScreen -> myNum] -> winSize;
nxagentSetRootClip(pScreen, 1); nxagentSetRootClip(pScreen, 1);
XMoveWindow(nxagentDisplay, nxagentWindow(WindowTable[0]), XMoveWindow(nxagentDisplay, nxagentWindow(WindowTable[0]),
...@@ -2293,12 +2369,6 @@ FIXME: We should try to restore the previously ...@@ -2293,12 +2369,6 @@ FIXME: We should try to restore the previously
nxagentMoveViewport(pScreen, 0, 0); nxagentMoveViewport(pScreen, 0, 0);
/*
* Update pointer bounds.
*/
ScreenRestructured(pScreen);
#ifdef TEST #ifdef TEST
nxagentPrintAgentGeometry("After Resize Screen", "nxagentResizeScreen:"); nxagentPrintAgentGeometry("After Resize Screen", "nxagentResizeScreen:");
#endif #endif
......
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