Subject: Re: Using vector-buttons/testbed.fvwmrc

From: Dominik Vogt <[email-masked]>
Date: Fri, 2 Feb 2001 19:00:58 +0100

On Mon, Jan 22, 2001 at 11:17:37AM -0600, Mikhael Goikhman wrote:
> On 22 Jan 2001 11:20:29 +0100, Dominik Vogt wrote:
> > 
> > > > > There is also a weird visual effect when you reread the same or different
> > > > > DecorDemoN.fvwmrc or another one when button_demo_style window is on the
> > > > > screen shaded.
> > > > 
> > > > With xv again or also with other windows?
> > > 
> > > With any window having button_demo_style name. Try to reread decors when
> > > there is button_demo_style window on the screen, shaded and not shaded.
> > > It is ok by me if you decide this is not worth fixing, but I want to let
> > > you know that the problem exists.
> > 
> > So what *is* the weird visual effect you speak of?  Do you mean
> > the fact that a changed decor is only applied partially without a
> > recapture or when the corresponding style is changed?
> 
> Yes, the recreated decor is applied partially (I would say incorrectly).
> Button styles are taken from default; title Height stays as it was
> (30), but it seems that in calculations of the frame, the default title
> Height is assumed (20 in my case). So the size of the window is now 10
> pixels less by Y, and the client window is resized(!).

There are two problem.  The first is that when a decor is
destroyed, the decor is not applied appropriately.  The code
updating the style and decor of the window in update.c called the
setup_style_and_decor() function from add_window.c which resets
the decor to the one supplied by the style after a ChangeDecor
call.  In other words: ChangeDecor was utterly broken, only hidden
by another bug in the ChangeDecor() function.  The second is that
after the decor is destroyed, the window uses no decor at all
until a new UseDecor style is applied.  This is because the window
stores a pointer to the decor to see if the decor has changed.  Of
course this can not be done anymore after the decor was destroyed.

I have fixed the first problem, but the second should only be
documented and fixed in the test scripts.

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]