Path: utzoo!attcan!uunet!lll-winken!lll-tis!helios.ee.lbl.gov!pasteur!ucbvax!decwrl!jumbo!msm From: msm@jumbo.dec.com (Mark S. Manasse) Newsgroups: comp.windows.x Subject: Re: Bugs in twm, wm, xprop, and xplaces (or my ignorance) Message-ID: <13130@jumbo.dec.com> Date: 28 Jun 88 18:00:57 GMT References: <6562@jhunix.HCF.JHU.EDU> <6910001@hpfcdc.HP.COM> <8806280637.AA08968@godzilla.ele.toronto.edu> Reply-To: msm@src.dec.com (Mark S. Manasse) Organization: DEC Systems Research Center, Palo Alto Lines: 18 The current draft ICCCM includes a property WM_STATE which is supposed to be present on all top-level windows, at least whenever there's a window manager running. This property should appear only on the top-level client windows. Thus, a client window is one which either has the WM_STATE property on it, or a mapped child of the root which doesn't contain any window with WM_STATE on its property list. The only way this goes wrong is in the case of a window manager which isn't managing any clients, but which maps a subwindow as a sort-of pseudoroot, which hardly seems like an important enough case to get all that worried about. Some window managers don't put the frame windows on the root, but instead add an extra window or two between the root and the frames. This lets you select for SubstructureNotify on the root without hearing about all the things that happen because the window manager asked for them to happen. Thus, some windows other than the root may contain multiple application windows. Don't be fooled, use recursion. Mark