I got annoyed at twm grabbing the server whenever I resized windows. I mean
seriously annoyed. It freezes videos playing in other windows, even other
screens. This plays havoc with streaming network connections.

So I looked at the code. It doesn't seem to me that there's anything more
special about resizing than moving or the other cases where the grab can be
disabled by the user. 

Is there some danger I'm unaware of that makes it absolutely critical to grab
the server during the resize? Or is twm just doing it specially to annoy me.

I tried the following patch and everything seems to be working fine. I haven't
run into any problems at all from it. And my video now plays smoothly while
I'm resizing windows. I'm much happier now.



--- xc/programs/twm/resize.c.~1~        2001-12-14 15:01:09.000000000 -0500
+++ xc/programs/twm/resize.c    2004-10-07 17:41:03.000000000 -0400
@@ -163,7 +163,8 @@
     unsigned int junkbw, junkDepth;
 
     ResizeWindow = tmp_win->frame;
-    XGrabServer(dpy);
+    if (!Scr->NoGrabServer)
+       XGrabServer(dpy);
     XGrabPointer(dpy, Scr->Root, True,
         ButtonPressMask | ButtonReleaseMask |
        ButtonMotionMask | PointerMotionHintMask,
@@ -206,7 +207,8 @@
 TwmWindow *tmp_win;
 int x, y, w, h;
 {
-    XGrabServer(dpy);
+    if (!Scr->NoGrabServer)
+       XGrabServer(dpy);
     XGrabPointer(dpy, Scr->Root, True,
         ButtonPressMask | ButtonMotionMask | PointerMotionMask,
         GrabModeAsync, GrabModeAsync,
@@ -249,7 +251,8 @@
 TwmWindow *tmp_win;
 int x, y, w, h;
 {
-    XGrabServer(dpy);
+    if (!Scr->NoGrabServer)
+       XGrabServer(dpy);
     XGrabPointer(dpy, Scr->Root, True,
         ButtonReleaseMask | ButtonMotionMask | PointerMotionHintMask,
         GrabModeAsync, GrabModeAsync,


-- 
greg

_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to