[X2Go-Commits] nx-libs.git - build-baikal (branch) updated: nxagent/3.4.0-16

X2Go dev team git-admin at x2go.org
Fri Aug 30 16:23:45 CEST 2013


The branch, build-baikal has been updated
       via  25af86cd3aaa61dc4a3d69825aa523177c2229e1 (commit)
      from  e9132da09462b3d2607a97e2f580cbd3144819eb (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 nx-X11/programs/Xserver/hw/nxagent/Agent.h         |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Args.c          |   15 +-
 nx-X11/programs/Xserver/hw/nxagent/Args.h          |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Atoms.c         |   32 +--
 nx-X11/programs/Xserver/hw/nxagent/Atoms.h         |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Binder.c        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Binder.h        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/CHANGELOG       |   59 ++++
 nx-X11/programs/Xserver/hw/nxagent/Client.c        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Client.h        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Clipboard.c     |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Clipboard.h     |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Colormap.c      |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Colormap.h      |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Composite.c     |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Composite.h     |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Cursor.c        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Cursor.h        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Dialog.c        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Dialog.h        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Display.c       |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Display.h       |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Drawable.c      |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Drawable.h      |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Error.c         |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Error.h         |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Events.c        |  284 ++++++++++---------
 nx-X11/programs/Xserver/hw/nxagent/Events.h        |    3 +-
 nx-X11/programs/Xserver/hw/nxagent/Extensions.c    |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Extensions.h    |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Font.c          |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Font.h          |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/GC.c            |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/GCOps.c         |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/GCOps.h         |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/GCs.h           |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Handlers.c      |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Handlers.h      |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Holder.c        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Holder.h        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Icons.h         |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Image.c         |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Image.h         |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Init.c          |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Init.h          |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Keyboard.c      |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Keyboard.h      |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Keystroke.c     |   14 +-
 nx-X11/programs/Xserver/hw/nxagent/Keystroke.h     |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/LICENSE         |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Literals.h      |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Millis.c        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Millis.h        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c    |    2 +-
 .../Xserver/hw/nxagent/NXdispatch.c.NX.original    |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/NXdixfonts.c    |    2 +-
 .../Xserver/hw/nxagent/NXdixfonts.c.NX.original    |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/NXevents.c      |    2 +-
 .../Xserver/hw/nxagent/NXevents.c.NX.original      |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/NXextension.c   |    2 +-
 .../Xserver/hw/nxagent/NXextension.c.NX.original   |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/NXglyph.c       |    2 +-
 .../Xserver/hw/nxagent/NXglyph.c.NX.original       |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/NXglyphcurs.c   |    2 +-
 .../Xserver/hw/nxagent/NXglyphcurs.c.NX.original   |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/NXglyphstr.h    |    2 +-
 .../Xserver/hw/nxagent/NXglyphstr.h.NX.original    |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/NXmiglyph.c     |    2 +-
 .../Xserver/hw/nxagent/NXmiglyph.c.NX.original     |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/NXpicture.c     |    2 +-
 .../Xserver/hw/nxagent/NXpicture.c.NX.original     |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/NXpicturestr.h  |    2 +-
 .../Xserver/hw/nxagent/NXpicturestr.h.NX.original  |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/NXproperty.c    |    2 +-
 .../Xserver/hw/nxagent/NXproperty.c.NX.original    |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/NXrandr.c       |    2 +-
 .../Xserver/hw/nxagent/NXrandr.c.NX.original       |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/NXrender.c      |    2 +-
 .../Xserver/hw/nxagent/NXrender.c.NX.original      |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/NXwindow.c      |    2 +-
 .../Xserver/hw/nxagent/NXwindow.c.NX.original      |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/NXxrandr.c      |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/NXxrandr.h      |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/NXxrandrint.h   |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Options.c       |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Options.h       |    9 +-
 nx-X11/programs/Xserver/hw/nxagent/Pixels.c        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Pixels.h        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Pixmap.c        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Pixmaps.h       |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Pointer.c       |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Pointer.h       |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Reconnect.c     |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Reconnect.h     |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Render.c        |   12 +-
 nx-X11/programs/Xserver/hw/nxagent/Render.h        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Rootless.c      |   56 +++-
 nx-X11/programs/Xserver/hw/nxagent/Rootless.h      |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Screen.c        |  195 +++++++++++++-
 nx-X11/programs/Xserver/hw/nxagent/Screen.h        |   10 +-
 nx-X11/programs/Xserver/hw/nxagent/Splash.c        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Splash.h        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Split.c         |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Split.h         |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/TestExt.c       |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Trap.c          |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Trap.h          |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Utils.h         |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Visual.c        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Visual.h        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/Window.c        |  285 ++++++++++++++++++--
 nx-X11/programs/Xserver/hw/nxagent/Windows.h       |    4 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXdamage.c    |    2 +-
 .../Xserver/hw/nxagent/X/NXdamage.c.NX.original    |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXdispatch.c  |    2 +-
 .../Xserver/hw/nxagent/X/NXdispatch.c.NX.original  |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXdixfonts.c  |    2 +-
 .../Xserver/hw/nxagent/X/NXdixfonts.c.NX.original  |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXevents.c    |    2 +-
 .../Xserver/hw/nxagent/X/NXevents.c.NX.original    |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXextension.c |    2 +-
 .../Xserver/hw/nxagent/X/NXextension.c.NX.original |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXglxext.c    |    2 +-
 .../Xserver/hw/nxagent/X/NXglxext.c.NX.original    |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXglyph.c     |    2 +-
 .../Xserver/hw/nxagent/X/NXglyph.c.NX.original     |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXglyphcurs.c |    2 +-
 .../Xserver/hw/nxagent/X/NXglyphcurs.c.NX.original |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXglyphstr.h  |    2 +-
 .../Xserver/hw/nxagent/X/NXglyphstr.h.NX.original  |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXmiexpose.c  |    2 +-
 .../Xserver/hw/nxagent/X/NXmiexpose.c.NX.original  |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXmiglyph.c   |    2 +-
 .../Xserver/hw/nxagent/X/NXmiglyph.c.NX.original   |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXmitrap.c    |    2 +-
 .../Xserver/hw/nxagent/X/NXmitrap.c.NX.original    |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXmiwindow.c  |    2 +-
 .../Xserver/hw/nxagent/X/NXmiwindow.c.NX.original  |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXpicture.c   |    7 +-
 .../Xserver/hw/nxagent/X/NXpicture.c.NX.original   |    7 +-
 .../programs/Xserver/hw/nxagent/X/NXpicturestr.h   |    2 +-
 .../hw/nxagent/X/NXpicturestr.h.NX.original        |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXproperty.c  |    2 +-
 .../Xserver/hw/nxagent/X/NXproperty.c.NX.original  |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXrandr.c     |    2 +-
 .../Xserver/hw/nxagent/X/NXrandr.c.NX.original     |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXrender.c    |    2 +-
 .../Xserver/hw/nxagent/X/NXrender.c.NX.original    |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXresource.c  |    2 +-
 .../Xserver/hw/nxagent/X/NXresource.c.NX.original  |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXshm.c       |    2 +-
 .../Xserver/hw/nxagent/X/NXshm.c.NX.original       |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXwindow.c    |    2 +-
 .../Xserver/hw/nxagent/X/NXwindow.c.NX.original    |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/X/NXxvdisp.c    |    2 +-
 .../Xserver/hw/nxagent/X/NXxvdisp.c.NX.original    |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/nxagent.xpm     |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/nxmissing.xpm   |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/os2Stub.c       |    2 +-
 nx-X11/programs/Xserver/hw/nxagent/screensaver     |    2 +-
 160 files changed, 943 insertions(+), 339 deletions(-)

The diff of changes is:
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Agent.h b/nx-X11/programs/Xserver/hw/nxagent/Agent.h
index 3f2c93f..dbed1e0 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Agent.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Agent.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Args.c b/nx-X11/programs/Xserver/hw/nxagent/Args.c
index c2e58bd..8fbb275 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Args.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Args.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
@@ -562,11 +562,15 @@ int ddxProcessArgument(int argc, char *argv[], int i)
       if (!strcmp(argv[i],"fullscreen"))
       {
         nxagentChangeOption(Fullscreen, True);
+
+        nxagentChangeOption(AllScreens, True);
       }
       else if (!strcmp(argv[i],"ipaq"))
       {
         nxagentChangeOption(Fullscreen, True);
 
+        nxagentChangeOption(AllScreens, True);
+
         nxagentIpaq = True;
       }
       else
@@ -1071,10 +1075,14 @@ static void nxagentParseOptions(char *name, char *value)
     else if (!strcmp(value, "1"))
     {
       nxagentChangeOption(Fullscreen, True);
+
+      nxagentChangeOption(AllScreens, True);
     }
     else if (!strcmp(value, "0"))
     {
       nxagentChangeOption(Fullscreen, False);
+
+      nxagentChangeOption(AllScreens, False);
     }
     else
     {
@@ -1680,6 +1688,11 @@ N/A
       nxagentChangeOption(Fullscreen, False);
     }
 
+    if (nxagentOption(AllScreens) == UNDEFINED)
+    {
+      nxagentChangeOption(AllScreens, False);
+    }
+
     if (nxagentOption(Binder) == UNDEFINED)
     {
       nxagentChangeOption(Binder, False);
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Args.h b/nx-X11/programs/Xserver/hw/nxagent/Args.h
index 92650a4..9cb97ca 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Args.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Args.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Atoms.c b/nx-X11/programs/Xserver/hw/nxagent/Atoms.c
index 171df95..578731f 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Atoms.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Atoms.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
@@ -66,21 +66,21 @@ Atom nxagentAtoms[NXAGENT_NUMBER_OF_ATOMS];
 
 static char *nxagentAtomNames[NXAGENT_NUMBER_OF_ATOMS + 1] =
 {
-  "NX_IDENTITY",              /* 0  */
-  "WM_PROTOCOLS",             /* 1  */
-  "WM_DELETE_WINDOW",         /* 2  */
-  "WM_NX_READY",              /* 3  */
-  "MCOPGLOBALS",              /* 4  */
-  "NX_CUT_BUFFER_SERVER",     /* 5  */
-  "TARGETS",                  /* 6  */
-  "TEXT",                     /* 7  */
-  "NX_AGENT_SIGNATURE",       /* 8  */
-  "NXDARWIN",                 /* 9  */
-  "CLIPBOARD",                /* 10 */
-  "TIMESTAMP",                /* 11 */
-  "UTF8_STRING",              /* 12 */
-  "_NET_WM_STATE",            /* 13 */
-  "_NET_WM_STATE_FULLSCREEN", /* 14 */
+  "NX_IDENTITY",                 /* 0  */
+  "WM_PROTOCOLS",                /* 1  */
+  "WM_DELETE_WINDOW",            /* 2  */
+  "WM_NX_READY",                 /* 3  */
+  "MCOPGLOBALS",                 /* 4  */
+  "NX_CUT_BUFFER_SERVER",        /* 5  */
+  "TARGETS",                     /* 6  */
+  "TEXT",                        /* 7  */
+  "NX_AGENT_SIGNATURE",          /* 8  */
+  "NXDARWIN",                    /* 9  */
+  "CLIPBOARD",                   /* 10 */
+  "TIMESTAMP",                   /* 11 */
+  "UTF8_STRING",                 /* 12 */
+  "_NET_WM_STATE",               /* 13 */
+  "_NET_WM_STATE_FULLSCREEN",    /* 14 */
   NULL,
   NULL
 };
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Atoms.h b/nx-X11/programs/Xserver/hw/nxagent/Atoms.h
index f49f275..d5b7fe5 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Atoms.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Atoms.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Binder.c b/nx-X11/programs/Xserver/hw/nxagent/Binder.c
index 34433bd..d40aaeb 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Binder.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Binder.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Binder.h b/nx-X11/programs/Xserver/hw/nxagent/Binder.h
index e0da3e3..f28a82b 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Binder.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Binder.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/CHANGELOG b/nx-X11/programs/Xserver/hw/nxagent/CHANGELOG
index 3f0a6ab..64e41b8 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/CHANGELOG
+++ b/nx-X11/programs/Xserver/hw/nxagent/CHANGELOG
@@ -1,5 +1,64 @@
 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.
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Client.c b/nx-X11/programs/Xserver/hw/nxagent/Client.c
index acfaab7..63ed0e1 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Client.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Client.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Client.h b/nx-X11/programs/Xserver/hw/nxagent/Client.h
index 45f87fc..a9b06c8 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Client.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Client.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
index eb83023..2742e14 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.h b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.h
index 2750ddf..43189df 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Colormap.c b/nx-X11/programs/Xserver/hw/nxagent/Colormap.c
index 259aa3b..b0f0507 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Colormap.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Colormap.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Colormap.h b/nx-X11/programs/Xserver/hw/nxagent/Colormap.h
index 8321e80..b296059 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Colormap.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Colormap.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Composite.c b/nx-X11/programs/Xserver/hw/nxagent/Composite.c
index b0640ff..c79104f 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Composite.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Composite.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Composite.h b/nx-X11/programs/Xserver/hw/nxagent/Composite.h
index fb1d6d8..e875d00 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Composite.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Composite.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Cursor.c b/nx-X11/programs/Xserver/hw/nxagent/Cursor.c
index 141ba3a..9ed7c23 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Cursor.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Cursor.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Cursor.h b/nx-X11/programs/Xserver/hw/nxagent/Cursor.h
index 11e407e..df7dc44 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Cursor.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Cursor.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Dialog.c b/nx-X11/programs/Xserver/hw/nxagent/Dialog.c
index 2f807b1..0fb9491 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Dialog.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Dialog.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Dialog.h b/nx-X11/programs/Xserver/hw/nxagent/Dialog.h
index aa845c7..bd12f30 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Dialog.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Dialog.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Display.c b/nx-X11/programs/Xserver/hw/nxagent/Display.c
index 1a57788..87be981 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Display.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Display.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Display.h b/nx-X11/programs/Xserver/hw/nxagent/Display.h
index 35b7857..454150d 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Display.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Display.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Drawable.c b/nx-X11/programs/Xserver/hw/nxagent/Drawable.c
index 7505709..9c16774 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Drawable.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Drawable.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Drawable.h b/nx-X11/programs/Xserver/hw/nxagent/Drawable.h
index 146610e..c987fa1 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Drawable.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Drawable.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Error.c b/nx-X11/programs/Xserver/hw/nxagent/Error.c
index 963cfa2..43bf859 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Error.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Error.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Error.h b/nx-X11/programs/Xserver/hw/nxagent/Error.h
index 2d6083d..e55fd71 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Error.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Error.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Events.c b/nx-X11/programs/Xserver/hw/nxagent/Events.c
index 1576962..b9da934 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Events.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Events.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
@@ -205,8 +205,6 @@ CARD32 nxagentLastEventTime     = 0;
 CARD32 nxagentLastKeyPressTime  = 0;
 Time   nxagentLastServerTime    = 0;
 
-int nxagentPointerAndKeyboardGrabbed = 0;
-
 /*
  * Used for storing windows that need to
  * receive expose events from the agent.
@@ -806,6 +804,7 @@ void nxagentDispatchEvents(PredicateFuncPtr predicate)
   Bool startKbd = False;
   Bool closeSession = False;
   Bool switchFullscreen = False;
+  Bool switchAllScreens = False;
 
   /*
    * Last entered top level window.
@@ -990,6 +989,12 @@ void nxagentDispatchEvents(PredicateFuncPtr predicate)
 
             break;
           }
+          case doSwitchAllScreens:
+          {
+            switchAllScreens = TRUE;
+
+            break;
+          }
           case doViewportMoveUp:
           {
             nxagentMoveViewport(pScreen, 0, -nxagentOption(Height));
@@ -1193,23 +1198,6 @@ FIXME: Don't enqueue the KeyRelease event if the key was
 
         nxagentInputEvent = 1;
 
-        if (nxagentOption(ClientOs) == ClientOsMac && (X.xbutton.state & ControlMask) == ControlMask)
-        {
-          x.u.u.type = ButtonPress;
-          x.u.u.detail = inputInfo.pointer -> button -> map[3];
-          x.u.keyButtonPointer.time = nxagentLastEventTime = GetTimeInMillis();
-
-          mieqEnqueue(&x);
-
-          x.u.u.type = ButtonRelease;
-          x.u.u.detail = inputInfo.pointer -> button -> map[3];
-          x.u.keyButtonPointer.time = nxagentLastEventTime = GetTimeInMillis();
-
-          mieqEnqueue(&x);
-
-          break;
-        }
-
         if (nxagentOption(Fullscreen))
         {
           if (nxagentMagicPixelZone(X.xbutton.x, X.xbutton.y))
@@ -1313,11 +1301,6 @@ FIXME: Don't enqueue the KeyRelease event if the key was
 
         nxagentInputEvent = 1;
 
-        if (nxagentOption(ClientOs) == ClientOsMac && (X.xbutton.state & ControlMask) == ControlMask)
-        {
-          break;
-        }
-
         if (viewportCursor)
         {
           /*
@@ -1688,14 +1671,11 @@ FIXME: Don't enqueue the KeyRelease event if the key was
           nxagentScreenTrap = 0;
         }
 
-        if (nxagentOption(Fullscreen) == 1)
+        if (nxagentOption(Fullscreen) == 1 &&
+                X.xcrossing.window == nxagentFullscreenWindow &&
+                    X.xcrossing.detail != NotifyInferior)
         {
-          if (X.xcrossing.window == nxagentDefaultWindows[0] &&
-                  X.xcrossing.detail != NotifyInferior &&
-                      X.xcrossing.mode == NotifyNormal)
-          {
-            nxagentGrabPointerAndKeyboard(&X);
-          }
+          nxagentGrabPointerAndKeyboard(&X);
         }
 
         if (X.xcrossing.detail != NotifyInferior)
@@ -2002,7 +1982,8 @@ FIXME: Don't enqueue the KeyRelease event if the key was
         }
 
         if (nxagentUseNXTrans == 1 && nxagentOption(Rootless) == 0 &&
-                nxagentOption(Nested) == 0)
+                nxagentOption(Nested) == 0 &&
+                    X.xmap.window != nxagentIconWindow)
         {
           nxagentVisibility = VisibilityFullyObscured;
         }
@@ -2041,6 +2022,15 @@ FIXME: Don't enqueue the KeyRelease event if the key was
           }
         }
 
+        if (nxagentOption(AllScreens) == 1)
+        {
+          if (X.xmap.window == nxagentIconWindow)
+          {
+            pScreen = nxagentScreen(X.xmap.window);
+            nxagentMaximizeToFullScreen(pScreen);
+          }
+        }
+
         if (nxagentOption(Fullscreen) == 1)
         {
           nxagentVisibility = VisibilityUnobscured;
@@ -2136,14 +2126,40 @@ FIXME: Don't enqueue the KeyRelease event if the key was
 
     if (nxagentWMIsRunning)
     {
-      XIconifyWindow(nxagentDisplay, nxagentDefaultWindows[0],
-                         DefaultScreen(nxagentDisplay));
+      if (nxagentOption(AllScreens))
+      {
+        nxagentMinimizeFromFullScreen(pScreen);
+      }
+      else
+      {
+        XIconifyWindow(nxagentDisplay, nxagentDefaultWindows[0],
+                           DefaultScreen(nxagentDisplay));
+      }
     }
   }
 
   if (switchFullscreen)
   {
-    nxagentSwitchFullscreen(pScreen, !nxagentOption(Fullscreen));
+    if (nxagentOption(AllScreens) == 1 && nxagentOption(Fullscreen) == 1)
+    {
+      nxagentSwitchAllScreens(pScreen, 0);
+    }
+    else
+    {
+      nxagentSwitchFullscreen(pScreen, !nxagentOption(Fullscreen));
+    }
+  }
+
+  if (switchAllScreens)
+  {
+    if (nxagentOption(AllScreens) == 0 && nxagentOption(Fullscreen) == 1)
+    {
+      nxagentSwitchFullscreen(pScreen, 0);
+    }
+    else
+    {
+      nxagentSwitchAllScreens(pScreen, !nxagentOption(AllScreens));
+    }
   }
 
   if (startKbd)
@@ -2615,6 +2631,7 @@ int nxagentHandleGraphicsExposeEvent(XEvent *X)
 
 int nxagentHandleClientMessageEvent(XEvent *X, enum HandleEventResult *result)
 {
+  ScreenPtr pScreen;
   WindowPtr pWin;
   xEvent x;
 
@@ -2730,8 +2747,20 @@ int nxagentHandleClientMessageEvent(XEvent *X, enum HandleEventResult *result)
         fprintf(stderr, "Events: WM_DELETE_WINDOW arrived Atom = %ld.\n", wmAtom);
         #endif
 
-        if (X -> xclient.window == nxagentDefaultWindows[0] ||
-                nxagentWMIsRunning == 0)
+        if (X -> xclient.window == nxagentIconWindow)
+        {
+          pScreen = nxagentScreen(X -> xmap.window);
+
+          XMapRaised(nxagentDisplay, nxagentFullscreenWindow);
+
+          XIconifyWindow(nxagentDisplay, nxagentIconWindow,
+                             DefaultScreen(nxagentDisplay));
+
+        }
+
+        if (X -> xclient.window == (nxagentOption(Fullscreen) ?
+                nxagentIconWindow : nxagentDefaultWindows[0]) ||
+                    nxagentWMIsRunning == 0)
         {
           *result = doCloseSession;
         }
@@ -3328,110 +3357,113 @@ int nxagentHandleConfigureNotify(XEvent* X)
 
     if (X -> xconfigure.window == nxagentDefaultWindows[pScreen -> myNum])
     {
-      if (nxagentOption(DesktopResize) == 1)
+      if (nxagentOption(AllScreens) == 0)
       {
-        if (nxagentOption(Width) != X -> xconfigure.width ||
-              nxagentOption(Height) != X -> xconfigure.height)
+        if (nxagentOption(DesktopResize) == 1)
         {
-          Bool newEvents = False;
+          if (nxagentOption(Width) != X -> xconfigure.width ||
+                nxagentOption(Height) != X -> xconfigure.height)
+          {
+            Bool newEvents = False;
 
-          doRandR = True;
+            doRandR = True;
 
-          NXFlushDisplay(nxagentDisplay, NXFlushLink);
+            NXFlushDisplay(nxagentDisplay, NXFlushLink);
 
-          do
-          {
-            newEvents = False;
+            do
+            {
+              newEvents = False;
 
-            timeout.tv_sec  = 0;
-            timeout.tv_usec = 500 * 1000;
+              timeout.tv_sec  = 0;
+              timeout.tv_usec = 500 * 1000;
 
-            nxagentWaitEvents(nxagentDisplay, &timeout);
+              nxagentWaitEvents(nxagentDisplay, &timeout);
 
-            /*
-             * This should also flush
-             * the NX link for us.
-             */
+              /*
+               * This should also flush
+               * the NX link for us.
+               */
 
-            XSync(nxagentDisplay, 0);
+              XSync(nxagentDisplay, 0);
 
-            while (XCheckTypedWindowEvent(nxagentDisplay, nxagentDefaultWindows[pScreen -> myNum],
-                                            ConfigureNotify, X))
-            {
-              newEvents = True;
-            }
+              while (XCheckTypedWindowEvent(nxagentDisplay, nxagentDefaultWindows[pScreen -> myNum],
+                                              ConfigureNotify, X))
+              {
+                newEvents = True;
+              }
 
-          } while (newEvents);
+            } while (newEvents);
+          }
         }
-      }
 
-      if (nxagentWMIsRunning == 0 || X -> xconfigure.send_event)
-      {
-        nxagentChangeOption(X, X -> xconfigure.x);
-        nxagentChangeOption(Y, X -> xconfigure.y);
-      }
+        if (nxagentWMIsRunning == 0 || X -> xconfigure.send_event)
+        {
+          nxagentChangeOption(X, X -> xconfigure.x);
+          nxagentChangeOption(Y, X -> xconfigure.y);
+        }
 
-      if (nxagentOption(Shadow) == 1 && nxagentOption(DesktopResize) == 1 &&
-              (nxagentOption(Width) != X -> xconfigure.width ||
-                  nxagentOption(Height) != X -> xconfigure.height))
-      {
-        nxagentShadowResize = 1;
-      }
+        if (nxagentOption(Shadow) == 1 && nxagentOption(DesktopResize) == 1 &&
+                (nxagentOption(Width) != X -> xconfigure.width ||
+                    nxagentOption(Height) != X -> xconfigure.height))
+        {
+          nxagentShadowResize = 1;
+        }
 
-      nxagentChangeOption(Width, X -> xconfigure.width);
-      nxagentChangeOption(Height, X -> xconfigure.height);
+        nxagentChangeOption(Width, X -> xconfigure.width);
+        nxagentChangeOption(Height, X -> xconfigure.height);
 
-      nxagentChangeOption(ViewportXSpan, (int) X -> xconfigure.width -
-                              (int) nxagentOption(RootWidth));
-      nxagentChangeOption(ViewportYSpan, (int) X -> xconfigure.height -
-                              (int) nxagentOption(RootHeight));
+        nxagentChangeOption(ViewportXSpan, (int) X -> xconfigure.width -
+                                (int) nxagentOption(RootWidth));
+        nxagentChangeOption(ViewportYSpan, (int) X -> xconfigure.height -
+                                (int) nxagentOption(RootHeight));
 
-      nxagentMoveViewport(pScreen, 0, 0);
+        nxagentMoveViewport(pScreen, 0, 0);
 
-      if (nxagentOption(Shadow) == 1 ||
-              (nxagentOption(Width) == nxagentOption(RootWidth) &&
-                  nxagentOption(Height) == nxagentOption(RootHeight)))
-      {
-        doRandR = 0;
-      }
+        if (nxagentOption(Shadow) == 1 ||
+                (nxagentOption(Width) == nxagentOption(RootWidth) &&
+                    nxagentOption(Height) == nxagentOption(RootHeight)))
+        {
+          doRandR = 0;
+        }
 
-      nxagentChangeOption(Width, X -> xconfigure.width);
-      nxagentChangeOption(Height, X -> xconfigure.height);
+        nxagentChangeOption(Width, X -> xconfigure.width);
+        nxagentChangeOption(Height, X -> xconfigure.height);
 
-      XMoveResizeWindow(nxagentDisplay, nxagentInputWindows[0], 0, 0,
-                            X -> xconfigure.width, X -> xconfigure.height);
+        XMoveResizeWindow(nxagentDisplay, nxagentInputWindows[0], 0, 0,
+                              X -> xconfigure.width, X -> xconfigure.height);
 
-      if (nxagentOption(Fullscreen) == 0)
-      {
-        nxagentMoveViewport(pScreen, 0, 0);
-      }
-      else
-      {
-        nxagentChangeOption(RootX, (nxagentOption(Width) -
-                                nxagentOption(RootWidth)) / 2);
-        nxagentChangeOption(RootY, (nxagentOption(Height) -
-                                nxagentOption(RootHeight)) / 2);
-        nxagentChangeOption(ViewportXSpan, nxagentOption(Width) -
-                                nxagentOption(RootWidth));
-        nxagentChangeOption(ViewportYSpan, nxagentOption(Height) -
-                                nxagentOption(RootHeight));
-
-        nxagentUpdateViewportFrame(0, 0, nxagentOption(RootWidth),
-                                       nxagentOption(RootHeight));
-
-        XMoveWindow(nxagentDisplay, nxagentWindow(WindowTable[pScreen -> myNum]),
-                        nxagentOption(RootX), nxagentOption(RootY));
-      }
+        if (nxagentOption(Fullscreen) == 0)
+        {
+          nxagentMoveViewport(pScreen, 0, 0);
+        }
+        else
+        {
+          nxagentChangeOption(RootX, (nxagentOption(Width) -
+                                  nxagentOption(RootWidth)) / 2);
+          nxagentChangeOption(RootY, (nxagentOption(Height) -
+                                  nxagentOption(RootHeight)) / 2);
+          nxagentChangeOption(ViewportXSpan, nxagentOption(Width) -
+                                  nxagentOption(RootWidth));
+          nxagentChangeOption(ViewportYSpan, nxagentOption(Height) -
+                                  nxagentOption(RootHeight));
+
+          nxagentUpdateViewportFrame(0, 0, nxagentOption(RootWidth),
+                                         nxagentOption(RootHeight));
+
+          XMoveWindow(nxagentDisplay, nxagentWindow(WindowTable[pScreen -> myNum]),
+                          nxagentOption(RootX), nxagentOption(RootY));
+        }
 
-      if (doRandR)
-      {
-        #ifdef TEST
-        fprintf(stderr,"nxagentHandleConfigureNotify: Width %d Height %d.\n",
-                    nxagentOption(Width), nxagentOption(Height));
-        #endif
+        if (doRandR)
+        {
+          #ifdef TEST
+          fprintf(stderr,"nxagentHandleConfigureNotify: Width %d Height %d.\n",
+                      nxagentOption(Width), nxagentOption(Height));
+          #endif
 
-        nxagentRRSetScreenConfig(screenInfo.screens[DefaultScreen(nxagentDisplay)],
-                                   nxagentOption(Width), nxagentOption(Height));
+          nxagentRRSetScreenConfig(screenInfo.screens[DefaultScreen(nxagentDisplay)],
+                                     nxagentOption(Width), nxagentOption(Height));
+        }
       }
 
       return 1;
@@ -3800,11 +3832,6 @@ void nxagentGrabPointerAndKeyboard(XEvent *X)
 
   int result;
 
-  if (nxagentPointerAndKeyboardGrabbed == 1)
-  {
-    return;
-  }
-
   #ifdef TEST
   fprintf(stderr, "nxagentGrabPointerAndKeyboard: Grabbing pointer and keyboard with event at [%p].\n",
               (void *) X);
@@ -3867,19 +3894,12 @@ void nxagentGrabPointerAndKeyboard(XEvent *X)
     XSetInputFocus(nxagentDisplay, nxagentFullscreenWindow,
                        RevertToParent, now);
   }
-
-  nxagentPointerAndKeyboardGrabbed = 1;
 }
 
 void nxagentUngrabPointerAndKeyboard(XEvent *X)
 {
   unsigned long now;
 
-  if (nxagentPointerAndKeyboardGrabbed == 0)
-  {
-    return;
-  }
-
   #ifdef TEST
   fprintf(stderr, "nxagentUngrabPointerAndKeyboard: Ungrabbing pointer and keyboard with event at [%p].\n",
               (void *) X);
@@ -3905,8 +3925,6 @@ void nxagentUngrabPointerAndKeyboard(XEvent *X)
   #endif
 
   XUngrabPointer(nxagentDisplay, now);
-
-  nxagentPointerAndKeyboardGrabbed = 0;
 }
 
 void nxagentDeactivatePointerGrab()
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Events.h b/nx-X11/programs/Xserver/hw/nxagent/Events.h
index 109475c..c74fa15 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Events.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Events.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
@@ -33,6 +33,7 @@ enum HandleEventResult
   doCloseSession,
   doStartKbd,
   doSwitchFullscreen,
+  doSwitchAllScreens,
   doViewportMoveUp,
   doViewportMoveLeft,
   doViewportMoveRight,
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Extensions.c b/nx-X11/programs/Xserver/hw/nxagent/Extensions.c
index e76cbb4..aced24f 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Extensions.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Extensions.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Extensions.h b/nx-X11/programs/Xserver/hw/nxagent/Extensions.h
index 620645d..5335cf8 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Extensions.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Extensions.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Font.c b/nx-X11/programs/Xserver/hw/nxagent/Font.c
index 13b8193..5e58b79 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Font.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Font.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Font.h b/nx-X11/programs/Xserver/hw/nxagent/Font.h
index 75ae3f6..63cb6aa 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Font.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Font.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/GC.c b/nx-X11/programs/Xserver/hw/nxagent/GC.c
index c53e3b9..71562d9 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/GC.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/GC.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/GCOps.c b/nx-X11/programs/Xserver/hw/nxagent/GCOps.c
index 8573079..e18b034 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/GCOps.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/GCOps.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/GCOps.h b/nx-X11/programs/Xserver/hw/nxagent/GCOps.h
index 7ae6d99..fa4967a 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/GCOps.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/GCOps.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/GCs.h b/nx-X11/programs/Xserver/hw/nxagent/GCs.h
index bec2900..f7e1347 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/GCs.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/GCs.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Handlers.c b/nx-X11/programs/Xserver/hw/nxagent/Handlers.c
index be407f1..310b572 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Handlers.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Handlers.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Handlers.h b/nx-X11/programs/Xserver/hw/nxagent/Handlers.h
index fe8aeef..3d3b335 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Handlers.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Handlers.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Holder.c b/nx-X11/programs/Xserver/hw/nxagent/Holder.c
index a9ac77c..bfd907c 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Holder.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Holder.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Holder.h b/nx-X11/programs/Xserver/hw/nxagent/Holder.h
index 9896aee..c39b987 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Holder.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Holder.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Icons.h b/nx-X11/programs/Xserver/hw/nxagent/Icons.h
index 4d0e216..0601584 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Icons.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Icons.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Image.c b/nx-X11/programs/Xserver/hw/nxagent/Image.c
index e8405ed..e499b7a 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Image.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Image.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Image.h b/nx-X11/programs/Xserver/hw/nxagent/Image.h
index 7805b03..57272ab 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Image.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Image.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Init.c b/nx-X11/programs/Xserver/hw/nxagent/Init.c
index 64b6583..789ff34 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Init.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Init.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Init.h b/nx-X11/programs/Xserver/hw/nxagent/Init.h
index 576c1a7..cf154e8 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Init.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Init.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c b/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c
index b0aeabe..8db3889 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Keyboard.h b/nx-X11/programs/Xserver/hw/nxagent/Keyboard.h
index 1a95335..0e11a8a 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Keyboard.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Keyboard.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c b/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c
index de1da86..6c6e477 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Keystroke.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
@@ -116,7 +116,7 @@ int nxagentCheckSpecialKeystroke(XKeyEvent *X, enum HandleEventResult *result)
       {
         if (nxagentOption(Rootless) == False)
         {
-          *result = doSwitchFullscreen;
+          *result = doSwitchAllScreens;
         }
 
         break;
@@ -282,6 +282,16 @@ int nxagentCheckSpecialKeystroke(XKeyEvent *X, enum HandleEventResult *result)
   {
     switch (sym)
     {
+      case XK_f:
+      case XK_F:
+      {
+        if (nxagentOption(Rootless) == 0)
+        {
+          *result = doSwitchFullscreen;
+        }
+
+        break;
+      }
       case XK_Left:
       case XK_KP_Left:
       {
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Keystroke.h b/nx-X11/programs/Xserver/hw/nxagent/Keystroke.h
index e9ca59f..ef71a88 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Keystroke.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Keystroke.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/LICENSE b/nx-X11/programs/Xserver/hw/nxagent/LICENSE
index 141ca13..8446e6f 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/LICENSE
+++ b/nx-X11/programs/Xserver/hw/nxagent/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2001, 2010 NoMachine - http://www.nomachine.com/.
+Copyright (c) 2001, 2011 NoMachine - http://www.nomachine.com/.
 
 NXAGENT and NX extensions to X are copyright of NoMachine.
 
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Literals.h b/nx-X11/programs/Xserver/hw/nxagent/Literals.h
index 377dd7e..aaa3430 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Literals.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Literals.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Millis.c b/nx-X11/programs/Xserver/hw/nxagent/Millis.c
index bde85f0..e9c739e 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Millis.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Millis.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Millis.h b/nx-X11/programs/Xserver/hw/nxagent/Millis.h
index 2125eca..69d247b 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Millis.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Millis.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c
index 5106ffa..4f59b80 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c.NX.original
index 5106ffa..4f59b80 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c.NX.original
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXdixfonts.c b/nx-X11/programs/Xserver/hw/nxagent/NXdixfonts.c
index 0d85842..1cccfd9 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXdixfonts.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXdixfonts.c
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXdixfonts.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/NXdixfonts.c.NX.original
index 0d85842..1cccfd9 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXdixfonts.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXdixfonts.c.NX.original
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXevents.c b/nx-X11/programs/Xserver/hw/nxagent/NXevents.c
index cd8ced7..f697cf3 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXevents.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXevents.c
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXevents.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/NXevents.c.NX.original
index cd8ced7..f697cf3 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXevents.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXevents.c.NX.original
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXextension.c b/nx-X11/programs/Xserver/hw/nxagent/NXextension.c
index 852ad15..1d86bf8 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXextension.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXextension.c
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXextension.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/NXextension.c.NX.original
index 852ad15..1d86bf8 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXextension.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXextension.c.NX.original
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXglyph.c b/nx-X11/programs/Xserver/hw/nxagent/NXglyph.c
index 5524819..22483b3 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXglyph.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXglyph.c
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXglyph.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/NXglyph.c.NX.original
index 5524819..22483b3 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXglyph.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXglyph.c.NX.original
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXglyphcurs.c b/nx-X11/programs/Xserver/hw/nxagent/NXglyphcurs.c
index 614d2db..9212bf4 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXglyphcurs.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXglyphcurs.c
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXglyphcurs.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/NXglyphcurs.c.NX.original
index 614d2db..9212bf4 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXglyphcurs.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXglyphcurs.c.NX.original
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXglyphstr.h b/nx-X11/programs/Xserver/hw/nxagent/NXglyphstr.h
index 08ffb35..0f122be 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXglyphstr.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXglyphstr.h
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXglyphstr.h.NX.original b/nx-X11/programs/Xserver/hw/nxagent/NXglyphstr.h.NX.original
index 08ffb35..0f122be 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXglyphstr.h.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXglyphstr.h.NX.original
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXmiglyph.c b/nx-X11/programs/Xserver/hw/nxagent/NXmiglyph.c
index 806cf29..09901ba 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXmiglyph.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXmiglyph.c
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXmiglyph.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/NXmiglyph.c.NX.original
index 806cf29..09901ba 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXmiglyph.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXmiglyph.c.NX.original
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXpicture.c b/nx-X11/programs/Xserver/hw/nxagent/NXpicture.c
index a9c501b..d32cdb6 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXpicture.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXpicture.c
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXpicture.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/NXpicture.c.NX.original
index a9c501b..d32cdb6 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXpicture.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXpicture.c.NX.original
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXpicturestr.h b/nx-X11/programs/Xserver/hw/nxagent/NXpicturestr.h
index 26a95fe..91eab01 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXpicturestr.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXpicturestr.h
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXpicturestr.h.NX.original b/nx-X11/programs/Xserver/hw/nxagent/NXpicturestr.h.NX.original
index 26a95fe..91eab01 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXpicturestr.h.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXpicturestr.h.NX.original
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c b/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c
index 14b6136..20a6bd6 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c.NX.original
index 14b6136..20a6bd6 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXproperty.c.NX.original
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXrandr.c b/nx-X11/programs/Xserver/hw/nxagent/NXrandr.c
index b7039e1..d593fa6 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXrandr.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXrandr.c
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXrandr.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/NXrandr.c.NX.original
index b7039e1..d593fa6 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXrandr.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXrandr.c.NX.original
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXrender.c b/nx-X11/programs/Xserver/hw/nxagent/NXrender.c
index 0940a36..43607ac 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXrender.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXrender.c
@@ -31,7 +31,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXrender.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/NXrender.c.NX.original
index 0940a36..43607ac 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXrender.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXrender.c.NX.original
@@ -31,7 +31,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXwindow.c b/nx-X11/programs/Xserver/hw/nxagent/NXwindow.c
index 0954cf8..95ecde9 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXwindow.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXwindow.c
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXwindow.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/NXwindow.c.NX.original
index 0954cf8..95ecde9 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXwindow.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXwindow.c.NX.original
@@ -6,7 +6,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXxrandr.c b/nx-X11/programs/Xserver/hw/nxagent/NXxrandr.c
index 8d05175..37b2c74 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXxrandr.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXxrandr.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXxrandr.h b/nx-X11/programs/Xserver/hw/nxagent/NXxrandr.h
index 4e800e9..160dc65 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXxrandr.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXxrandr.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXxrandrint.h b/nx-X11/programs/Xserver/hw/nxagent/NXxrandrint.h
index ae3a03d..97ae77e 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXxrandrint.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXxrandrint.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Options.c b/nx-X11/programs/Xserver/hw/nxagent/Options.c
index 1f04b0d..5d78556 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Options.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Options.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Options.h b/nx-X11/programs/Xserver/hw/nxagent/Options.h
index 1bc7eaa..7850a05 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Options.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Options.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
@@ -103,6 +103,13 @@ typedef struct _AgentOptions
   int Fullscreen;
 
   /*
+   * True if the fullscreen NX session will
+   * extend on all available screens.
+   */
+
+  int AllScreens;
+
+  /*
    * Set to the auto-disconnect timeout, if
    * the user activated this feature.
    */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Pixels.c b/nx-X11/programs/Xserver/hw/nxagent/Pixels.c
index 10c705d..d3ab9dd 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Pixels.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Pixels.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Pixels.h b/nx-X11/programs/Xserver/hw/nxagent/Pixels.h
index ea7c375..918d74d 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Pixels.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Pixels.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Pixmap.c b/nx-X11/programs/Xserver/hw/nxagent/Pixmap.c
index 1718c73..ad7e9c3 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Pixmap.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Pixmap.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Pixmaps.h b/nx-X11/programs/Xserver/hw/nxagent/Pixmaps.h
index 234650d..98d5666 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Pixmaps.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Pixmaps.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Pointer.c b/nx-X11/programs/Xserver/hw/nxagent/Pointer.c
index 9c1bfaa..a751974 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Pointer.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Pointer.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Pointer.h b/nx-X11/programs/Xserver/hw/nxagent/Pointer.h
index b0bb3f9..3b9ccce 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Pointer.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Pointer.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c b/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c
index e63b481..b786602 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Reconnect.h b/nx-X11/programs/Xserver/hw/nxagent/Reconnect.h
index 12d0742..c321bfa 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Reconnect.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Reconnect.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Render.c b/nx-X11/programs/Xserver/hw/nxagent/Render.c
index 4f0f764..6c74c14 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Render.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Render.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
@@ -584,16 +584,16 @@ XRenderPictFormat *nxagentMatchingFormats(PictFormatPtr pFormat)
 
 void nxagentDestroyPicture(PicturePtr pPicture)
 {
+  if (pPicture == NULL || nxagentPicturePriv(pPicture) -> picture == 0)
+  {
+    return;
+  }
+
   #ifdef TEST
   fprintf(stderr, "nxagentDestroyPicture: Going to destroy picture at [%p].\n",
               (void *) pPicture);
   #endif
 
-  if (pPicture == NULL)
-  {
-    return;
-  }
-
   XRenderFreePicture(nxagentDisplay,
                      nxagentPicturePriv(pPicture) -> picture);
   
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Render.h b/nx-X11/programs/Xserver/hw/nxagent/Render.h
index 4346a4e..6f61ca8 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Render.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Render.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Rootless.c b/nx-X11/programs/Xserver/hw/nxagent/Rootless.c
index 612e71c..706aa93 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Rootless.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Rootless.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
@@ -725,7 +725,57 @@ int nxagentExportProperty(pWin, property, type, format, mode, nUnits, value)
     }
     else
     {
-      XChangeProperty(nxagentDisplay, nxagentWindow(pWin), propertyX, typeX, format, mode, (void*)output, nUnits);
+      #ifdef TEST
+      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);
     }
   }
@@ -740,6 +790,8 @@ int nxagentExportProperty(pWin, property, type, format, mode, nUnits, value)
     #endif
   }
 
+  nxagentExportPropertyError:
+
   if (freeMem)
   {
     xfree(output);
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Rootless.h b/nx-X11/programs/Xserver/hw/nxagent/Rootless.h
index ece4c9d..1ea258d 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Rootless.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Rootless.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Screen.c b/nx-X11/programs/Xserver/hw/nxagent/Screen.c
index 2db7df8..0a0d409 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Screen.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Screen.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
@@ -160,6 +160,7 @@ void nxagentPropagateArtsdProperties(ScreenPtr pScreen, char *port);
 
 #endif
 
+Window nxagentIconWindow = None;
 Window nxagentFullscreenWindow = None;
 
 #ifdef VIEWPORT_FRAME
@@ -287,6 +288,166 @@ void nxagentSetPixmapFormats(ScreenInfo *screenInfo)
   }
 }
 
+void nxagentMinimizeFromFullScreen(ScreenPtr pScreen)
+{
+  XUnmapWindow(nxagentDisplay, nxagentFullscreenWindow);
+
+  if (nxagentIpaq)
+  {
+    XMapWindow(nxagentDisplay, nxagentIconWindow);
+    XIconifyWindow(nxagentDisplay, nxagentIconWindow,
+                       DefaultScreen(nxagentDisplay));
+  }
+  else
+  {
+    XIconifyWindow(nxagentDisplay, nxagentIconWindow,
+                       DefaultScreen(nxagentDisplay));
+  }
+}
+
+void nxagentMaximizeToFullScreen(ScreenPtr pScreen)
+{
+  if (nxagentIpaq)
+  {
+    XUnmapWindow(nxagentDisplay, nxagentIconWindow);
+
+    XMapWindow(nxagentDisplay, nxagentFullscreenWindow);
+  }
+  else
+  {
+/*
+    XUnmapWindow(nxagentDisplay, nxagentIconWindow);
+*/
+/*
+FIXME: We'll chech for ReparentNotify and LeaveNotify events after XReparentWindow()
+       in order to avoid the session window is iconified.
+       We could avoid the sesssion window is iconified when a LeaveNotify event is received,
+       so this check would be unnecessary.
+*/
+    struct timeval timeout;
+    int i;
+    XEvent e;
+
+    XReparentWindow(nxagentDisplay, nxagentFullscreenWindow,
+                        RootWindow(nxagentDisplay, DefaultScreen(nxagentDisplay)), 0, 0);
+
+    for (i = 0; i < 100 && nxagentWMIsRunning; i++)
+    {
+      #ifdef TEST
+      fprintf(stderr, "nxagentMaximizeToFullscreen: WARNING! Going to wait for the ReparentNotify event.\n");
+      #endif
+
+      if (XCheckTypedWindowEvent(nxagentDisplay, nxagentFullscreenWindow, ReparentNotify, &e))
+      {
+        break;
+      }
+
+      XSync(nxagentDisplay, 0);
+
+      timeout.tv_sec = 0;
+      timeout.tv_usec = 50 * 1000;
+
+      nxagentWaitEvents(nxagentDisplay, &timeout);
+    }
+
+    XMapRaised(nxagentDisplay, nxagentFullscreenWindow);
+
+    XIconifyWindow(nxagentDisplay, nxagentIconWindow,
+                       DefaultScreen(nxagentDisplay));
+
+    while (XCheckTypedWindowEvent(nxagentDisplay, nxagentFullscreenWindow, LeaveNotify, &e));
+/*
+    XMapWindow(nxagentDisplay, nxagentIconWindow);
+*/
+  }
+}
+
+Window nxagentCreateIconWindow()
+{
+  XSetWindowAttributes attributes;
+  unsigned long valuemask;
+  char* window_name;
+  XTextProperty windowName;
+  XSizeHints sizeHints;
+  XWMHints wmHints;
+  Window w;
+  Mask mask;
+
+  /*
+   * Create icon window.
+   */
+
+  attributes.override_redirect = False;
+  attributes.colormap = DefaultColormap(nxagentDisplay, DefaultScreen(nxagentDisplay));
+  attributes.background_pixmap = nxagentScreenSaverPixmap;
+  valuemask = CWOverrideRedirect | CWBackPixmap | CWColormap;
+
+  #ifdef TEST
+  fprintf(stderr, "nxagentCreateIconWindow: Going to create new icon window.\n");
+  #endif
+
+  w = XCreateWindow(nxagentDisplay, DefaultRootWindow(nxagentDisplay),
+                        0, 0, 1, 1, 0,
+                            DefaultDepth(nxagentDisplay, DefaultScreen(nxagentDisplay)),
+                                InputOutput,
+                                    DefaultVisual(nxagentDisplay, DefaultScreen(nxagentDisplay)),
+                                        valuemask, &attributes);
+
+  #ifdef TEST
+  fprintf(stderr, "nxagentCreateIconWindow: Created new icon window with id [%ld].\n",
+              nxagentIconWindow);
+  #endif
+
+  /*
+   *  Set hints to the window manager for the icon window.
+   */
+
+  window_name = nxagentWindowName;
+  XStringListToTextProperty(&window_name, 1, &windowName);
+  sizeHints.flags = PMinSize | PMaxSize;
+  sizeHints.min_width = sizeHints.max_width = 1;
+  sizeHints.min_height = sizeHints.max_height = 1;
+  wmHints.flags = IconPixmapHint | IconMaskHint;
+  wmHints.initial_state = IconicState;
+  wmHints.icon_pixmap = nxagentIconPixmap;
+
+  if (useXpmIcon)
+  {
+    wmHints.icon_mask = nxagentIconShape;
+    wmHints.flags = IconPixmapHint | IconMaskHint;
+  }
+  else
+  {
+    wmHints.flags = StateHint | IconPixmapHint;
+  }
+
+  XSetWMProperties(nxagentDisplay, w,
+                      &windowName, &windowName,
+                          NULL , 0 , &sizeHints, &wmHints, NULL);
+
+  /*
+   * Enable events from the icon window.
+   */
+
+  nxagentGetDefaultEventMask(&mask);
+
+  XSelectInput(nxagentDisplay, w, (mask & ~(KeyPressMask |
+                   KeyReleaseMask)) | StructureNotifyMask);
+
+  /*
+   * Notify to client if user closes icon window.
+   */
+
+  if (nxagentWMIsRunning && !nxagentOption(Rootless))
+  {
+    XlibAtom deleteWMAtom = nxagentAtoms[2]; /* WM_DELETE_WINDOW */
+
+    XSetWMProtocols(nxagentDisplay, w, &deleteWMAtom, 1);
+  }
+
+  return w;
+}
+
 Bool nxagentMagicPixelZone(int x, int y)
 {
   return (x >= nxagentOption(Width) - 1 && y < 1);
@@ -816,6 +977,8 @@ Bool nxagentOpenScreen(int index, ScreenPtr pScreen,
 
     nxagentChangeOption(Fullscreen, False);
 
+    nxagentChangeOption(AllScreens, False);
+
     nxagentFullscreenWindow = 0;
 
     resetAgentPosition = True;
@@ -1221,6 +1384,11 @@ N/A
       nxagentChangeOption(Height, gattributes.height);
     }
 
+    if (nxagentOption(AllScreens))
+    {
+      attributes.override_redirect = True; 
+    }
+
     if (nxagentOption(Fullscreen))
     {
       /*
@@ -1448,7 +1616,8 @@ N/A
   if (nxagentDoFullGeneration == 1 ||
           nxagentReconnectTrap == 1)
   {
-    valuemask = CWBackPixel | CWEventMask | CWColormap;
+    valuemask = CWBackPixel | CWEventMask | CWColormap |
+                    (nxagentOption(AllScreens) == 1 ? CWOverrideRedirect : 0);
 
     attributes.background_pixel = nxagentBlackPixel;
 
@@ -1456,6 +1625,11 @@ N/A
 
     attributes.colormap = nxagentDefaultVisualColormap(nxagentDefaultVisual(pScreen));
 
+    if (nxagentOption(AllScreens) == 1)
+    {
+      attributes.override_redirect = True;
+    }
+
     if (nxagentOption(Fullscreen) == 1)
     {
       if (nxagentReconnectTrap)
@@ -1635,6 +1809,21 @@ N/A
 
     XClearWindow(nxagentDisplay, nxagentDefaultWindows[pScreen->myNum]);
 
+    if (nxagentOption(AllScreens))
+    {
+      if (nxagentReconnectTrap)
+      {
+        XGrabKeyboard(nxagentDisplay, nxagentFullscreenWindow, True, GrabModeAsync,
+                      GrabModeAsync, CurrentTime);
+      }
+
+      nxagentIconWindow = nxagentCreateIconWindow();
+    }
+    else
+    {
+      nxagentIconWindow = 0;
+    }
+
     /*
      * When we don't have window manager we grab keyboard
      * to let nxagent get keyboard events.
@@ -1983,8 +2172,6 @@ Bool nxagentResizeScreen(ScreenPtr pScreen, int width, int height,
   int oldMmWidth;
   int oldMmHeight;
 
-  RegionPtr pRootWinSize;
-
   #ifdef TEST
   nxagentPrintAgentGeometry("Before Resize Screen", "nxagentResizeScreen:");
   #endif
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Screen.h b/nx-X11/programs/Xserver/hw/nxagent/Screen.h
index 1ab6caa..5b19577 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Screen.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Screen.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
@@ -47,6 +47,8 @@ extern ScreenPtr nxagentDefaultScreen;
 
 extern Pixmap nxagentPixmapLogo;
 
+extern Window nxagentIconWindow;
+
 extern Window nxagentFullscreenWindow;
 
 extern RegionRec nxagentShadowUpdateRegion;
@@ -87,6 +89,12 @@ extern int nxagentBitsPerPixel(int depth);
 
 void nxagentSetScreenSaverTime(void);
 
+void nxagentMinimizeFromFullScreen(ScreenPtr pScreen);
+
+void nxagentMaximizeToFullScreen(ScreenPtr pScreen);
+
+Window nxagentCreateIconWindow(void);
+
 Bool nxagentMagicPixelZone(int x, int y);
 
 Bool nxagentResizeScreen(ScreenPtr pScreen, int width, int height,
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Splash.c b/nx-X11/programs/Xserver/hw/nxagent/Splash.c
index 24dbf14..235c48c 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Splash.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Splash.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Splash.h b/nx-X11/programs/Xserver/hw/nxagent/Splash.h
index 86920ad..f7ba6c2 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Splash.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Splash.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Split.c b/nx-X11/programs/Xserver/hw/nxagent/Split.c
index bf7f705..4cc2ea6 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Split.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Split.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Split.h b/nx-X11/programs/Xserver/hw/nxagent/Split.h
index 60be29b..2be449a 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Split.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Split.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/TestExt.c b/nx-X11/programs/Xserver/hw/nxagent/TestExt.c
index 1d5fdee..6bce2ea 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/TestExt.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/TestExt.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Trap.c b/nx-X11/programs/Xserver/hw/nxagent/Trap.c
index 22de3bc..f5e6bde 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Trap.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Trap.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Trap.h b/nx-X11/programs/Xserver/hw/nxagent/Trap.h
index aa6937e..9258e3b 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Trap.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Trap.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Utils.h b/nx-X11/programs/Xserver/hw/nxagent/Utils.h
index 830b275..f5bd55d 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Utils.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Utils.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Visual.c b/nx-X11/programs/Xserver/hw/nxagent/Visual.c
index f389316..b086c0e 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Visual.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Visual.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Visual.h b/nx-X11/programs/Xserver/hw/nxagent/Visual.h
index c682f92..8436f79 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Visual.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Visual.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Window.c b/nx-X11/programs/Xserver/hw/nxagent/Window.c
index 2da21b9..3e6d41d 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Window.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Window.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
@@ -693,7 +693,6 @@ void nxagentRestackWindow(WindowPtr pWin, WindowPtr pOldNextSib)
 void nxagentSwitchFullscreen(ScreenPtr pScreen, Bool switchOn)
 {
   XEvent e;
-  XSizeHints sizeHints;
 
   if (nxagentOption(Rootless) == 1)
   {
@@ -731,27 +730,6 @@ void nxagentSwitchFullscreen(ScreenPtr pScreen, Bool switchOn)
 
   nxagentChangeOption(Fullscreen, switchOn);
 
-  if (nxagentOption(DesktopResize) == 1)
-  {
-    sizeHints.flags = PSize;
-
-    if (switchOn == 1)
-    {
-      sizeHints.width =
-          WidthOfScreen(DefaultScreenOfDisplay(nxagentDisplay));
-      sizeHints.height =
-          HeightOfScreen(DefaultScreenOfDisplay(nxagentDisplay));
-    }
-    else
-    {
-      sizeHints.width = nxagentOption(RootWidth);
-      sizeHints.height = nxagentOption(RootHeight);
-    }
-
-    XSetWMNormalHints(nxagentDisplay, nxagentDefaultWindows[pScreen -> myNum],
-                         &sizeHints);
-  }
-
   memset(&e, 0, sizeof(e));
 
   e.xclient.type = ClientMessage;
@@ -779,6 +757,245 @@ void nxagentSwitchFullscreen(ScreenPtr pScreen, Bool switchOn)
   } 
 }
 
+void nxagentSwitchAllScreens(ScreenPtr pScreen, Bool switchOn)
+{
+  Window w;
+  XSetWindowAttributes attributes;
+  unsigned long valuemask;
+
+  if (nxagentOption(Rootless))
+  {
+    return;
+  }
+
+  if (!switchOn)
+  {
+    nxagentWMDetect();
+
+    if (!nxagentWMIsRunning)
+    {
+      #ifdef WARNING
+      fprintf(stderr, "Warning: Can't switch to window mode, no window manager has been detected.\n");
+      #endif
+
+      return;
+    }
+  }
+
+  w = nxagentDefaultWindows[pScreen -> myNum];
+  attributes.override_redirect = switchOn;
+  valuemask = CWOverrideRedirect;
+  XUnmapWindow(nxagentDisplay, w);
+  XChangeWindowAttributes(nxagentDisplay, w, valuemask, &attributes);
+
+  XReparentWindow(nxagentDisplay, w, DefaultRootWindow(nxagentDisplay), 0, 0);
+
+  if (switchOn)
+  {
+    /*
+     * Change to fullscreen mode.
+     */
+
+    struct timeval timeout;
+    int i;
+    XEvent e;
+
+    /*
+     * Wait for window manager reparenting the default window.
+     */
+
+    for (i = 0; i < 100 && nxagentWMIsRunning; i++)
+    {
+      #ifdef TEST
+      fprintf(stderr, "nxagentSwitchAllScreens: WARNING! Going to wait for the ReparentNotify event.\n");
+      #endif
+
+      if (XCheckTypedWindowEvent(nxagentDisplay, w, ReparentNotify, &e))
+      {
+        break;
+      }
+
+      /*
+       * This should also flush
+       * the NX link for us.
+       */
+
+      XSync(nxagentDisplay, 0);
+
+      timeout.tv_sec  = 0;
+      timeout.tv_usec = 50 * 1000;
+
+      nxagentWaitEvents(nxagentDisplay, &timeout);
+    }
+
+    if (i < 100)
+    {
+      /*
+       * The window manager has done with the reparent
+       * operation. We can resize and map the window.
+       */
+
+      nxagentChangeOption(Fullscreen, True);
+      nxagentChangeOption(AllScreens, True);
+      
+
+      /*
+       * Save the window-mode configuration.
+       */
+
+      nxagentChangeOption(SavedX, nxagentOption(X));
+      nxagentChangeOption(SavedY, nxagentOption(Y));
+      nxagentChangeOption(SavedWidth, nxagentOption(Width));
+      nxagentChangeOption(SavedHeight, nxagentOption(Height));
+      nxagentChangeOption(SavedRootWidth, nxagentOption(RootWidth));
+      nxagentChangeOption(SavedRootHeight, nxagentOption(RootHeight));
+
+      /*
+       * Reconf the Default window.
+       */
+
+      nxagentChangeOption(X, 0);
+      nxagentChangeOption(Y, 0);
+      nxagentChangeOption(Width, WidthOfScreen(DefaultScreenOfDisplay(nxagentDisplay)));
+      nxagentChangeOption(Height, HeightOfScreen(DefaultScreenOfDisplay(nxagentDisplay)));
+
+      /*
+       * Move the root window.
+       */
+
+      nxagentChangeOption(RootX, (nxagentOption(Width) - nxagentOption(RootWidth)) / 2);
+      nxagentChangeOption(RootY, (nxagentOption(Height) - nxagentOption(RootHeight)) / 2);
+      nxagentChangeOption(ViewportXSpan, nxagentOption(Width) - nxagentOption(RootWidth));
+      nxagentChangeOption(ViewportYSpan, nxagentOption(Height) - nxagentOption(RootHeight));
+
+      XMoveResizeWindow(nxagentDisplay, w, nxagentOption(X), nxagentOption(Y),
+                            nxagentOption(Width), nxagentOption(Height));
+
+      nxagentUpdateViewportFrame(0, 0, nxagentOption(RootWidth), nxagentOption(RootHeight));
+
+      XMoveWindow(nxagentDisplay, nxagentWindow(WindowTable[pScreen -> myNum]),
+                      nxagentOption(RootX), nxagentOption(RootY));
+
+      /*
+       * We disable the screensaver when changing
+       * mode to fullscreen. Is it really needed?
+       */
+
+      XSetScreenSaver(nxagentDisplay, 0, 0, DefaultExposures, DefaultBlanking);
+
+      if (nxagentIconWindow == None)
+      {
+        nxagentIconWindow = nxagentCreateIconWindow();
+
+        XMapWindow(nxagentDisplay, nxagentIconWindow);
+      }
+
+      XMapRaised(nxagentDisplay, w);
+      XSetInputFocus(nxagentDisplay, w, RevertToParent, CurrentTime);
+      XCheckTypedWindowEvent(nxagentDisplay, w, LeaveNotify, &e);
+      nxagentFullscreenWindow = w;
+
+      if (nxagentOption(DesktopResize) == 1)
+      {
+        if (nxagentOption(Shadow) == 0)
+        {
+          nxagentRRSetScreenConfig(pScreen, WidthOfScreen(DefaultScreenOfDisplay(nxagentDisplay)),
+                                       HeightOfScreen(DefaultScreenOfDisplay(nxagentDisplay)));
+        }
+        else
+        {
+          nxagentShadowAdaptToRatio();
+        }
+      }
+    }
+    else
+    {
+      /*
+       * We have waited for a reparent event unsuccessfully.
+       * Something happened to the window manager.
+       */
+
+      #ifdef WARNING
+      fprintf(stderr, "nxagentSwitchAllScreens: WARNING! Expected ReparentNotify event missing.\n");
+      #endif
+ 
+      nxagentWMIsRunning = False;
+      attributes.override_redirect = False;
+      XChangeWindowAttributes(nxagentDisplay, w, valuemask, &attributes);
+      XMapWindow(nxagentDisplay, w);
+    }
+  }
+  else
+  {
+    /*
+     * FIXME:
+     * It could be necessary:
+     * - To restore screensaver.
+     * - To set or reset nxagentForceBackingStore flag.
+     * - To propagate device settings to the X server if no WM is running.
+     */
+
+    /*
+     * Change to windowed mode.
+     */
+
+    nxagentChangeOption(Fullscreen, False);
+    nxagentChangeOption(AllScreens, False);
+
+    XDestroyWindow(nxagentDisplay, nxagentIconWindow);
+
+    nxagentIconWindow = nxagentFullscreenWindow = None;
+
+    if (nxagentOption(DesktopResize) == 1)
+    {
+      nxagentChangeOption(RootWidth, nxagentOption(SavedRootWidth));
+      nxagentChangeOption(RootHeight, nxagentOption(SavedRootHeight));
+
+      if (nxagentOption(Shadow) == 0)
+      {
+        nxagentRRSetScreenConfig(pScreen, nxagentOption(RootWidth), nxagentOption(RootHeight));
+      }
+    }
+
+    if (nxagentOption(WMBorderWidth) > 0 && nxagentOption(WMTitleHeight) > 0)
+    {
+      nxagentChangeOption(X, nxagentOption(SavedX) -
+                              nxagentOption(WMBorderWidth));
+      nxagentChangeOption(Y, nxagentOption(SavedY) -
+                              nxagentOption(WMTitleHeight));
+    }
+    else
+    {
+      nxagentChangeOption(X, nxagentOption(SavedX));
+      nxagentChangeOption(Y, nxagentOption(SavedY));
+    }
+
+    nxagentChangeOption(Width, nxagentOption(SavedWidth));
+    nxagentChangeOption(Height, nxagentOption(SavedHeight));
+
+    if (nxagentOption(Shadow) == 1 && nxagentOption(DesktopResize) == 1)
+    {
+      nxagentShadowAdaptToRatio();
+    }
+
+    XMoveResizeWindow(nxagentDisplay, w, nxagentOption(X), nxagentOption(Y),
+                          nxagentOption(Width), nxagentOption(Height));
+
+    nxagentUpdateViewportFrame(0, 0, nxagentOption(Width), nxagentOption(Height));
+
+    XMoveWindow(nxagentDisplay, nxagentWindow(WindowTable[pScreen -> myNum]), 0, 0);
+    XMapWindow(nxagentDisplay, w);
+
+    nxagentChangeOption(RootX, 0);
+    nxagentChangeOption(RootY, 0);
+  }
+
+  XMoveResizeWindow(nxagentDisplay, nxagentInputWindows[0], 0, 0,
+                        nxagentOption(Width), nxagentOption(Height));
+
+  nxagentSetPrintGeometry(pScreen -> myNum); 
+}
+
 #ifdef VIEWPORT_FRAME
 
 void nxagentUpdateViewportFrame(int x, int y, int w, int h)
@@ -2281,7 +2498,7 @@ void nxagentMapDefaultWindows()
 
         if (nxagentOption(Fullscreen) == 1 && nxagentWMIsRunning == 1)
         {
-          nxagentSwitchFullscreen(pScreen, 1);
+          nxagentMaximizeToFullScreen(pScreen);
         }
       }
 
@@ -2313,6 +2530,26 @@ void nxagentMapDefaultWindows()
   }
 
   /*
+   * Map the icon window.
+   */
+
+  if (nxagentIconWindow != 0)
+  {
+    #ifdef TEST
+    fprintf(stderr, "nxagentMapDefaultWindows: Mapping icon window id [%ld].\n",
+                nxagentIconWindow);
+    #endif
+
+    XMapWindow(nxagentDisplay, nxagentIconWindow);
+
+    if (nxagentIpaq != 0)
+    {
+      XIconifyWindow(nxagentDisplay, nxagentIconWindow,
+                         DefaultScreen(nxagentDisplay));
+    }
+  }
+
+  /*
    * Ensure that the fullscreen window gets the focus.
    */
 
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Windows.h b/nx-X11/programs/Xserver/hw/nxagent/Windows.h
index 6fc97b3..3ca74ba 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Windows.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Windows.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
@@ -222,6 +222,8 @@ void nxagentSetTopLevelEventMask(WindowPtr pWin);
 
 void nxagentSwitchFullscreen(ScreenPtr pScreen, Bool switchOn);
 
+void nxagentSwitchAllScreens(ScreenPtr pScreen, Bool switchOn);
+
 void nxagentMoveViewport(ScreenPtr pScreen, int hShift, int vShift);
 
 #ifdef VIEWPORT_FRAME
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXdamage.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXdamage.c
index 7bc1c74..cf5d48b 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXdamage.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXdamage.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXdamage.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXdamage.c.NX.original
index 7bc1c74..cf5d48b 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXdamage.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXdamage.c.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXdispatch.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXdispatch.c
index ba4e1e6..69ad30d 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXdispatch.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXdispatch.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXdispatch.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXdispatch.c.NX.original
index ba4e1e6..69ad30d 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXdispatch.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXdispatch.c.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXdixfonts.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXdixfonts.c
index 225ecda..04fc047 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXdixfonts.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXdixfonts.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXdixfonts.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXdixfonts.c.NX.original
index 225ecda..04fc047 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXdixfonts.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXdixfonts.c.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXevents.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXevents.c
index 8e87d58..c5593ad 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXevents.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXevents.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXevents.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXevents.c.NX.original
index 8e87d58..c5593ad 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXevents.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXevents.c.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXextension.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXextension.c
index 6e67b7f..ead9b9d 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXextension.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXextension.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXextension.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXextension.c.NX.original
index 6e67b7f..ead9b9d 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXextension.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXextension.c.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXglxext.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXglxext.c
index 172252b..51c5479 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXglxext.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXglxext.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXglxext.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXglxext.c.NX.original
index 172252b..51c5479 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXglxext.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXglxext.c.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXglyph.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXglyph.c
index 6340de5..cd65fdc 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXglyph.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXglyph.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXglyph.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXglyph.c.NX.original
index 6340de5..cd65fdc 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXglyph.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXglyph.c.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXglyphcurs.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXglyphcurs.c
index d6cd966..7a1d813 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXglyphcurs.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXglyphcurs.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXglyphcurs.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXglyphcurs.c.NX.original
index d6cd966..7a1d813 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXglyphcurs.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXglyphcurs.c.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXglyphstr.h b/nx-X11/programs/Xserver/hw/nxagent/X/NXglyphstr.h
index e78a1bf..fa6b5fb 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXglyphstr.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXglyphstr.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXglyphstr.h.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXglyphstr.h.NX.original
index e78a1bf..fa6b5fb 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXglyphstr.h.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXglyphstr.h.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXmiexpose.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXmiexpose.c
index c71ea81..3fc73cf 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXmiexpose.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXmiexpose.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXmiexpose.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXmiexpose.c.NX.original
index c71ea81..3fc73cf 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXmiexpose.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXmiexpose.c.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXmiglyph.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXmiglyph.c
index efb2958..5f32334 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXmiglyph.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXmiglyph.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXmiglyph.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXmiglyph.c.NX.original
index efb2958..5f32334 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXmiglyph.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXmiglyph.c.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXmitrap.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXmitrap.c
index d2bead0..f418654 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXmitrap.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXmitrap.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXmitrap.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXmitrap.c.NX.original
index d2bead0..f418654 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXmitrap.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXmitrap.c.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXmiwindow.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXmiwindow.c
index be1096c..1902949 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXmiwindow.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXmiwindow.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXmiwindow.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXmiwindow.c.NX.original
index be1096c..1902949 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXmiwindow.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXmiwindow.c.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXpicture.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXpicture.c
index be961c4..d9054b4 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXpicture.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXpicture.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
@@ -873,6 +873,9 @@ AllocatePicture (ScreenPtr  pScreen)
 	else
 	    ppriv->ptr = (pointer)NULL;
     }
+
+    nxagentPicturePriv(pPicture) -> picture = 0;
+
     return pPicture;
 }
 
@@ -1103,6 +1106,8 @@ static PicturePtr createSourcePicture(void)
       ppriv[nxagentPicturePrivateIndex].ptr = (pointer) privPictureRecAddr;
 
       pPicture -> devPrivates = ppriv;
+
+      nxagentPicturePriv(pPicture) -> picture = 0;
     }
 
     pPicture->pDrawable = 0;
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXpicture.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXpicture.c.NX.original
index be961c4..d9054b4 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXpicture.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXpicture.c.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
@@ -873,6 +873,9 @@ AllocatePicture (ScreenPtr  pScreen)
 	else
 	    ppriv->ptr = (pointer)NULL;
     }
+
+    nxagentPicturePriv(pPicture) -> picture = 0;
+
     return pPicture;
 }
 
@@ -1103,6 +1106,8 @@ static PicturePtr createSourcePicture(void)
       ppriv[nxagentPicturePrivateIndex].ptr = (pointer) privPictureRecAddr;
 
       pPicture -> devPrivates = ppriv;
+
+      nxagentPicturePriv(pPicture) -> picture = 0;
     }
 
     pPicture->pDrawable = 0;
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXpicturestr.h b/nx-X11/programs/Xserver/hw/nxagent/X/NXpicturestr.h
index b6cee91..0d1a8e1 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXpicturestr.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXpicturestr.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXpicturestr.h.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXpicturestr.h.NX.original
index b6cee91..0d1a8e1 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXpicturestr.h.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXpicturestr.h.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXproperty.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXproperty.c
index d02f3f0..cd1ec6d 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXproperty.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXproperty.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXproperty.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXproperty.c.NX.original
index d02f3f0..cd1ec6d 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXproperty.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXproperty.c.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXrandr.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXrandr.c
index e1bb441..5f460f2 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXrandr.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXrandr.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXrandr.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXrandr.c.NX.original
index e1bb441..5f460f2 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXrandr.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXrandr.c.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXrender.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXrender.c
index 562cd2c..89e7901 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXrender.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXrender.c
@@ -26,7 +26,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXrender.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXrender.c.NX.original
index 562cd2c..89e7901 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXrender.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXrender.c.NX.original
@@ -26,7 +26,7 @@
 
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXresource.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXresource.c
index 8c69217..d1c8325 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXresource.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXresource.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXresource.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXresource.c.NX.original
index 8c69217..d1c8325 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXresource.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXresource.c.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXshm.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXshm.c
index b99cbe3..eaaa920 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXshm.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXshm.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXshm.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXshm.c.NX.original
index b99cbe3..eaaa920 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXshm.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXshm.c.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXwindow.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXwindow.c
index 4022bc3..76e86fd 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXwindow.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXwindow.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXwindow.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXwindow.c.NX.original
index 4022bc3..76e86fd 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXwindow.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXwindow.c.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXxvdisp.c b/nx-X11/programs/Xserver/hw/nxagent/X/NXxvdisp.c
index aa90222..f6dad31 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXxvdisp.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXxvdisp.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/X/NXxvdisp.c.NX.original b/nx-X11/programs/Xserver/hw/nxagent/X/NXxvdisp.c.NX.original
index aa90222..f6dad31 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/X/NXxvdisp.c.NX.original
+++ b/nx-X11/programs/Xserver/hw/nxagent/X/NXxvdisp.c.NX.original
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/nxagent.xpm b/nx-X11/programs/Xserver/hw/nxagent/nxagent.xpm
index 5955f17..dd8be6c 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/nxagent.xpm
+++ b/nx-X11/programs/Xserver/hw/nxagent/nxagent.xpm
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/nxmissing.xpm b/nx-X11/programs/Xserver/hw/nxagent/nxmissing.xpm
index e7dee27..854e0a6 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/nxmissing.xpm
+++ b/nx-X11/programs/Xserver/hw/nxagent/nxmissing.xpm
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/os2Stub.c b/nx-X11/programs/Xserver/hw/nxagent/os2Stub.c
index 80419d8..9ec7e6b 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/os2Stub.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/os2Stub.c
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/screensaver b/nx-X11/programs/Xserver/hw/nxagent/screensaver
index 4c5c106..ef7cd66 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/screensaver
+++ b/nx-X11/programs/Xserver/hw/nxagent/screensaver
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXAGENT, NX protocol compression and NX extensions to this software    */
 /* are copyright of NoMachine. Redistribution and use of the present      */


hooks/post-receive
-- 
nx-libs.git (NX (redistributed))

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "nx-libs.git" (NX (redistributed)).




More information about the x2go-commits mailing list