Subject: CVS domivogt: * Handle borderwidth/handlewidth changes without recapture.

From: CVS <[email-masked]>
Date: Sat, 20 Nov 1999 03:49:07 -0600 (CST)

CVSROOT:	/home/cvs/fvwm
Module name:	fvwm
Changes by:	domivogt	99/11/20 03:49:06

Modified files:
	.              : ChangeLog acconfig.h configure.in 
	fvwm           : add_window.c borders.c borders.h builtins.c 
	                 builtins.h events.c fvwm.h fvwm2.1 
	                 module_interface.c move_resize.c move_resize.h 
	                 placement.c placement.h screen.h session.c 
	                 session.h style.c virtual.c 
	libs           : Bindings.c Pointer.c 
	modules        : ChangeLog 
	modules/FvwmCommand: FvwmCommand.c FvwmCommandS.c 
	modules/FvwmIconMan: functions.c fvwm.c x.c xmanager.c 
	modules/FvwmPager: x_pager.c 
	modules/FvwmTaskBar: FvwmTaskBar.1 
	modules/FvwmWinList: FvwmWinList.1 FvwmWinList.c 
	vms            : config.h 

Log message:
* Handle borderwidth/handlewidth changes without recapture.
* module commands don't fake a ButtonPress with the frame location;
XQueryPointer is always used.
* A 'm' before the move arguments denotes movement relative to current
mouse position.
* Changing the window font now honours the gravity
* Hopefully fixed all 'sticky window' bugs once and for all (session manager).
* Shading/unshading is perfectly smooth now, even with bottom titles.
* Fixed bug: maximize on pages other than 0-0, 0-1, 1-0 and 1-1 didn't work if
the window was not visible.
* X server bug (?) workaround in icon man.
* Fixed FvwmCommand pipe names.
* Fixed drawing bug in icon man.
* Fixed size of mini icons in win list.
* XFree86 bug workaround (ButtonRelease event displaced).
* -Wall fix.
* Fixed typo in FvwmTaskBar man page.
* removed GRADIENT_BUTTONS, PIXMAP_BUTTONS, VECTOR_BUTTONS, BORDERSTYLE,
EXTENDED_TITLESTYLE, ACTIVEDOWN_BTNS and INACTIVE_BTNS options
* nearly a complete rewrite of the sizing and positioning bits in the
FvwmWindow structure. Had to touch many, many files and functions, but
I hope the benefit is that all calculations are much easier now.
Perhaps the most important change is that the normal_g/max_g members
now are the authorative source of the window position. Whenever the
frame is moved, the 'update_absolute_geometry' function has to be
called to re-adjust the appropriate values. Even if the window is
maximized the code moves the normal geometry if the maximized window
gets too far away from its unmaximized version, i.e. if the maximized
window is moved by more than a page width or height. This may cause
that a window in unmaximized off screen if the viewport is not at a
page boundary, but at least it's consistent. The absolute geometry of
sticky windows is updated when the viewport is moved. Thus, sticking
a window now is as easy as resetting the flag.
I have scrapped the xdiff/ydiff members of the FvwmWindow structure.
There are now some functions for decorating, moving, resizing, etc.
a window while taking gravity into account.

--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Mikhael Goikhman <[email-masked]>
Date: Sun, 21 Nov 1999 16:38:55 +0200

> a window while taking gravity into account.

Great commit! Although I had no chance to learn all aspects of it,
but I am sure the code is more structured now.

Shading is smooth as only possible (for bottom titles as well).
Sticky windows in restarts are ok and Recapture in SM works.

Negative mouse diffs in Move work somewhat unexpectedly (I think that
gravity should not be taken for this case).

"Workaround for buggy XFree86" produces bad results for me.
The pager immediately changes its size to some unknown (fixed?) value.

Regards,
Mikhael.

---

From: Dominik Vogt <[email-masked]>
Date: Sun, 21 Nov 1999 19:41:14 +0100

> gravity should not be taken for this case).

Uh, what are 'negative mouse diffs in Move'?
 
> The pager immediately changes its size to some unknown (fixed?) value.

??? But surely not because of the code I wrote!  Did you try
to remove it?  It's in x_pager.c around line 1520ff.  This
only prevents that you switch to a random page if you click
and the immediately flick the mouse off the pager.  XFree
sometimes reports that the click occured outside the pager,
and the calculations which use 'modulo' screw up completely
when calculating the desk number.  This shouldn't affect
the pager geometry.

Bye

Dominik ^_^

--
Dominik Vogt, [email-masked]
Reply-To: [email-masked]
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Mikhael Goikhman <[email-masked]>
Date: Mon, 22 Nov 1999 00:54:57 +0200

> Uh, what are 'negative mouse diffs in Move'?

Move m-1 m-1

Regards,
Mikhael.

---

From: Dominik Vogt <[email-masked]>
Date: Tue, 23 Nov 1999 16:59:49 +0100

> > Uh, what are 'negative mouse diffs in Move'?

Fixed.

Bye

Dominik ^_^