Subject: Re: Framemaker doesn't refresh on desk change

From: Dan Espen <[email-masked]>
Date: Sat, 01 Sep 2001 22:03:59 -0400

Dominik Vogt <[email-masked]> writes:
> On Wed, Aug 22, 2001 at 11:05:55AM -0400, Dan Espen wrote:
> > 
> > Using Fvwm 2.4.0, if I create a FrameMaker window
> > and change desks using the pager, when I come back to the page
> > where FrameMaker is, I have to hit Control-L to refresh the view,
> > otherwise the text area of the window is blank.
> > 
> > Just changing pages doesn't cause a problem, there has to be
> > a desk change.
> 
> So it must have something to do with unmapping/mapping the window.
> It seems that the window does not get an Expose event or the event
> is screwed up or it is ignored.

This stopped working when this change was made:

2001-03-22  Dominik Vogt  <[email-masked]>

	* fvwm/events.c (HandleMapRequestKeepRaised):
	* fvwm/virtual.c (unmap_window):
	(map_window):
	disabled ICCCM2 patch that unmaps the client window whenever the frame
	is unmapped since it causes way too mouch trouble. #define
	ICCCM2_UNMAP_WINDOW_PATCH to enable it

Adding back the mapping and unmapping of the window in virtual.c
"fixes" the problem.

The logic in events.c doesn't get involved in this problem.

I'll go look and see what the trouble was that this part of the
ICCCM2 logic was causing...

-- 
Dan Espen
444 Hoes Lane  Room RRC 1C-214           E-mail: [email-masked]
Piscataway, NJ 08854                     Phone: (732) 699-5570
--
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: Dominik Vogt <[email-masked]>
Date: Sun, 2 Sep 2001 21:31:33 +0200

> ICCCM2 logic was causing...

The ICCCM2 demands that, whenever the wm frame of an application
window is unmapped, the application window must be unmapped too.
It is common practice in window managers to ignore this part of
the ICCCM2 because, at some other place, it states that unmapping
the window indicaties that the application was iconified.  Some
applications, for example DDD, respond by iconifying all their
windows.  This may be a good thing for iconification, but since
windows are unmapped while they are on a desktop other than the
current one, this causes strange effects in FvwmPager et. al.

If this is indeed the problem, then Framemaker should show the
same bug with 2.2.x.  Can you please verify this?

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: Dan Espen <[email-masked]>
Date: Sun, 02 Sep 2001 16:42:20 -0400

> same bug with 2.2.x.  Can you please verify this?

Framemaker works fine with 2.2.5.

Thanks to explaining what the problem is.
Since we have all these conflicting things going on, perhaps
it would be better to take the same approach a page change takes,
just move the window(s) somewhere off the visible screen.

---

From: Dominik Vogt <[email-masked]>
Date: Mon, 3 Sep 2001 20:50:08 +0200

> Framemaker works fine with 2.2.5.

Doh.  I know it's a lot of work, but can you check out the
releases between 2.3.30 and 2.3.0 to see at which time the bug
appeared first?  The commit you quoted was meant to revert back to
the way 2.2.5 worked.  Thus the bug probably appeared some time
before this. 

> just move the window(s) somewhere off the visible screen.

I was thinking exactly this.  But for now, the patch is too
disruptive to do in 2.4.x.

Bye

Dominik ^_^  ^_^

---

From: Dan Espen <[email-masked]>
Date: Wed, 05 Sep 2001 19:37:00 -0400

> the way 2.2.5 worked.  Thus the bug probably appeared some time

I can check the releases but I want to make sure what you are
looking for.

I know this:

2.2.5 works
2001-01-01 thru 2001-03-15 works.
2001-03-25 thru now doesn't work.

2001-01-01 is around release 2.3.28
2001-03-15 is around release 2.3.30
2001-03-25 is around release 2.3.31

Up until now, I was assuming that this worked
from 2.2.5 all the way thru 2.3.30 and only broke in
2.3.31.

Are you thinking there is some time period between 2.2.5 and
2.3.28 where it was also not working?

---

From: Dominik Vogt <[email-masked]>
Date: Fri, 7 Sep 2001 03:12:00 +0200

> 2.3.28 where it was also not working?

Yes, exactly.

Bye

Dominik ^_^  ^_^