Path: utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!franz!sparky!jdi From: jdi@sparky.Franz.COM (John Irwin) Newsgroups: comp.windows.x Subject: Re: ConfigureWindow bug in R4 twm Message-ID: <4617@franz.Franz.COM> Date: 15 Jan 90 21:53:53 GMT References: <4551@franz.Franz.COM> <9001112222.AA06723@expire.lcs.mit.edu> Sender: usenet@Franz.COM Reply-To: jdi@sparky.UUCP (John Irwin) Organization: Franz Inc., Berkeley, CA Lines: 39 In article <9001112222.AA06723@expire.lcs.mit.edu> rws@EXPO.LCS.MIT.EDU (Bob Scheifler) writes: > > Unfortunately we have to release a product soon that relies on a > conformant window manager, so I will probably have to try fixing > it myself. > >The ICCCM does not require a window manager to put windows where you >ask them to be put. If you have a product that demands this from a >window manager, you deserve whatever problems you encounter. [This >doesn't mean twm isn't buggy, of course.] The problem isn't that twm puts windows in the wrong place; the fact that it does so is, by itself, not cause for labelling twm non-compliant. (Although my reading of section 4.1.5 suggests that the current behaviour is "not very compliant.") The problem is that twm tells the client that it put the window in the *right* place. An excerpt from my bug report: ... Instead, twm moves mywindow to 1008, 1013. IE: twm moves the *FRAME* to 1005, 1010. Now, you could argue that this is still ICCCM compliant, since the client isn't guaranteed to get what he wants. But it does violate the above quoted paragraph. Also, twm sends a synthetic ConfigureNotify event to the client describing the new state of mywindow, as it should. But it lies about where mywindow is. The event says that mywindow is now at 1005, 1010. Surely section 4.1.5 specifies that the ConfigureNotify the client receives applies to the client window and not the frame window? ... IE: it would be ok (but not optimal) if twm put the window in the wrong place and then told me that was where it put it. Instead twm says it put the window one place while actually putting it somewhere else, which messes up my client's cached window state. -- John Irwin Franz Inc.