Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!think!ames!sdcsvax!ucbvax!cadillac.siemens.COM!ellis From: ellis@cadillac.siemens.COM (Ellis Cohen) Newsgroups: comp.windows.x Subject: Re: window manager property semantics Message-ID: <8710122218.AA09069@audi.siemens.com> Date: Mon, 12-Oct-87 18:18:16 EDT Article-I.D.: audi.8710122218.AA09069 Posted: Mon Oct 12 18:18:16 1987 Date-Received: Wed, 14-Oct-87 02:47:10 EDT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 43 Adam R de Boor writes > I am curious: how do you detect the setting of the WM_HINTS property of a > window you don't know exists? Once the manager knows the window exists, it > can select PropertyNotify on the window, but unless the client has mapped or > configured the top-level window, the window manager won't know about it... Well, we select SubstructureNotify on the parent window. That way, when the parent is CREATED (not mapped) in the root, we get a CreateNotify event. That's when we select PropertyNotify. > As for the iconic state: if there is no window manager present, it is rather > silly for an application to start out iconic, even if the user tells it to, > because, unless it has special hooks like xterm (v10) to de-iconify itself, > an iconified application will stay that way until the user starts a window > manager, or kills the application. Since a window manager needn't actually > map a window when it receives the MapRequest event, but could, in fact, create > and map an icon window with the specified icon pixmap, I again say the window > manager should leave the window alone until it is mapped. The mapping of the > main window signifies that the application is completely set up. Well, you raise an interesting point here. I suppose it is possible for the window manager to treat the initial request to map the main window as an indication that the initial state (i.e. normal, zoomed, iconic, inactive) should be produced. That is indeed a reasonable alternative. We have chosen though, to treat WM_HINTS more actively. For example, in our window manager, the client can hint (through WM_HINTS) that the state should be changed from Normal to Zoomed, and the window manager will Zoom the window. Using the initial setting of WM_HINTS to open the window or icon is more consistent with that model. I think the real issue though, is that we believe that Map and Configure are low-level operations, and should not directly be used by applications. For main windows, we think that applications should use hints instead. For subwindows, we think that applications should generally use the operations provided by toolkits instead. Ellis Cohen Siemens RTL Tiled Window Project (609) 734-6524 ellis.cohen@a.gp.cs.cmu.edu