1--- vnc_unixsrc.orig/vncviewer/fullscreen.c 2003-10-09 05:23:49.000000000 -0400 2+++ vnc_unixsrc/vncviewer/fullscreen.c 2004-12-26 21:21:44.000000000 -0500 3@@ -173,9 +173,15 @@ 4 XtVaSetValues(popup, XtNoverrideRedirect, True, NULL); 5 6 /* Try to get the input focus. */ 7- 8+ 9+#if 0 10 XSetInputFocus(dpy, DefaultRootWindow(dpy), RevertToPointerRoot, 11 CurrentTime); 12+#else 13+ XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot, 14+ CurrentTime); 15+#endif 16+ 17 18 /* Optionally, grab the keyboard. */ 19 20@@ -184,6 +190,10 @@ 21 GrabModeAsync, CurrentTime) != GrabSuccess) { 22 fprintf(stderr, "XtGrabKeyboard() failed.\n"); 23 } 24+if (getenv("VNCVIEWER_GRAB_SERVER") != NULL) { /* runge bot of FullScreenOn */ 25+ fprintf(stderr, "calling XGrabServer(dpy)\n"); 26+ XGrabServer(dpy); 27+} 28 } 29 30 31@@ -210,6 +220,11 @@ 32 33 appData.fullScreen = False; 34 35+if (getenv("VNCVIEWER_GRAB_SERVER") != NULL) { /* runge top of FullScreenOff */ 36+ fprintf(stderr, "calling XUngrabServer(dpy)\n"); 37+ XUngrabServer(dpy); 38+} 39+ 40 if (appData.grabKeyboard) 41 XtUngrabKeyboard(desktop, CurrentTime); 42 43