--- vnc_unixsrc.orig/vncviewer/fullscreen.c	2003-10-09 05:23:49.000000000 -0400
+++ vnc_unixsrc/vncviewer/fullscreen.c	2004-12-26 21:21:44.000000000 -0500
@@ -173,9 +173,15 @@
   XtVaSetValues(popup, XtNoverrideRedirect, True, NULL);
 
   /* Try to get the input focus. */
-
+ 
+#if 0
   XSetInputFocus(dpy, DefaultRootWindow(dpy), RevertToPointerRoot,
 		 CurrentTime);
+#else
+  XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot,
+                 CurrentTime);
+#endif
+
 
   /* Optionally, grab the keyboard. */
 
@@ -184,6 +190,10 @@
 		     GrabModeAsync, CurrentTime) != GrabSuccess) {
     fprintf(stderr, "XtGrabKeyboard() failed.\n");
   }
+if (getenv("VNCVIEWER_GRAB_SERVER") != NULL) { /* runge bot of FullScreenOn */
+        fprintf(stderr, "calling XGrabServer(dpy)\n");
+        XGrabServer(dpy);       
+}
 }
 
 
@@ -210,6 +220,11 @@
 
   appData.fullScreen = False;
 
+if (getenv("VNCVIEWER_GRAB_SERVER") != NULL) { /* runge top of FullScreenOff */
+        fprintf(stderr, "calling XUngrabServer(dpy)\n");
+        XUngrabServer(dpy);     
+}
+
   if (appData.grabKeyboard)
     XtUngrabKeyboard(desktop, CurrentTime);
 
