Barry> Did this go away? I think it was there for 1.24r, but it seems like
Barry> rubberband resize is the only option for 2.0.42.
It is actually quite easy to re enable this feature IF one doesn't mind
having opaque resize ON for ALL windows, i.e. no per window/class/etc
opaque resize.
The patch below does it in its simplest form by defining a static
variable within resize.c, setting this to 1 (opaque resize on) or 0
(opaque resize off), and by recompiling, installing, etc, one would get
opaque resize back.
A more elegant way would be to add OpaqueResize to the Scr structure, add
code to parse it out of the fvwmrc file, setting on the fly, etc, but
this would imply changing a few more files, recompiling everything (as
opposed to just resize.c with the patch above) and it will all go away
with TGSFRW (The Great Style Flag Re-Write.)
-- Henrique (martins_at_hpl.hp.com)
*** resize.c.orig Wed May 1 08:46:34 1996
--- resize.c Wed May 1 09:13:44 1996
***************
*** 37,42 ****
--- 37,44 ----
extern int menuFromFrameOrWindowOrTitlebar;
extern Window PressedW;
+ static int OpaqueResize = 1;
+
/****************************************************************************
*
* Starts a window resize operation
***************
*** 108,114 ****
return;
}
! XGrabServer(dpy);
/* handle problems with edge-wrapping while resizing */
--- 110,117 ----
return;
}
! if (!OpaqueResize)
! XGrabServer(dpy);
/* handle problems with edge-wrapping while resizing */
***************
*** 166,174 ****
}
}
/* draw the rubber-band window */
! MoveOutline (Scr.Root, dragx - tmp_win->bw, dragy - tmp_win->bw,
! dragWidth + 2 * tmp_win->bw,
! dragHeight + 2 * tmp_win->bw);
/* loop to resize */
while(!finished)
--- 169,178 ----
}
}
/* draw the rubber-band window */
! if (!OpaqueResize)
! MoveOutline (Scr.Root, dragx - tmp_win->bw, dragy - tmp_win->bw,
! dragWidth + 2 * tmp_win->bw,
! dragHeight + 2 * tmp_win->bw);
/* loop to resize */
while(!finished)
***************
*** 229,239 ****
}
if(!done)
{
! MoveOutline(Scr.Root,0,0,0,0);
DispatchEvent();
! MoveOutline(Scr.Root, dragx - tmp_win->bw, dragy - tmp_win->bw,
dragWidth + 2 * tmp_win->bw, dragHeight + 2 * tmp_win->bw);
}
--- 233,245 ----
}
if(!done)
{
! if (!OpaqueResize)
! MoveOutline(Scr.Root,0,0,0,0);
DispatchEvent();
! if (!OpaqueResize)
! MoveOutline (Scr.Root, dragx - tmp_win->bw, dragy - tmp_win->bw,
dragWidth + 2 * tmp_win->bw, dragHeight + 2 * tmp_win->bw);
}
***************
*** 253,259 ****
}
UninstallRootColormap();
ResizeWindow = None;
! XUngrabServer(dpy);
UngrabEm();
xmotion = 0;
ymotion = 0;
--- 259,266 ----
}
UninstallRootColormap();
ResizeWindow = None;
! if (!OpaqueResize)
! XUngrabServer(dpy);
UngrabEm();
xmotion = 0;
ymotion = 0;
***************
*** 321,328 ****
if (ymotion == 1)
dragy = origy + origHeight - dragHeight;
! MoveOutline(Scr.Root, dragx - tmp_win->bw,dragy - tmp_win->bw,
! dragWidth + 2 * tmp_win->bw, dragHeight + 2 * tmp_win->bw);
}
DisplaySize(tmp_win, dragWidth, dragHeight,False);
}
--- 328,342 ----
if (ymotion == 1)
dragy = origy + origHeight - dragHeight;
! if (!OpaqueResize)
! MoveOutline(Scr.Root, dragx - tmp_win->bw,dragy - tmp_win->bw,
! dragWidth + 2 * tmp_win->bw, dragHeight + 2 * tmp_win->bw);
! else {
! ConstrainSize (tmp_win, &dragWidth, &dragHeight);
! SetupFrame (tmp_win, dragx - tmp_win->bw,
! dragy - tmp_win->bw, dragWidth, dragHeight,FALSE);
! }
!
}
DisplaySize(tmp_win, dragWidth, dragHeight,False);
}
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to majordomo_at_hpc.uh.edu.
To report problems, send mail to fvwm-owner_at_hpc.uh.edu.
Received on Wed May 01 1996 - 11:26:20 BST