Hi, At first blush, this does not appear to actually be a bug in fvwm: note that fvwm detects another version of fvwm running, so it does to window manager detection. ---------------------------------------------------------------------- __> fvwm [FVWM][SetupICCCM2]: <<ERROR>> another ICCCM 2.0 compliant WM is running, try -replace ----------------------------------------------------------------------
So what is going on? This is what fvwm does: ,----[ detecting another window manager ] | sprintf(wm_sx, "WM_S%lu", Scr.screen); | _XA_WM_SX = XInternAtom(dpy, wm_sx, False); | _XA_MANAGER = XInternAtom(dpy, "MANAGER", False); | _XA_ATOM_PAIR = XInternAtom(dpy, "ATOM_PAIR", False); | _XA_TARGETS = XInternAtom(dpy, "TARGETS", False); | _XA_MULTIPLE = XInternAtom(dpy, "MULTIPLE", False); | _XA_TIMESTAMP = XInternAtom(dpy, "TIMESTAMP", False); | _XA_VERSION = XInternAtom(dpy, "VERSION", False); | _XA_WM_COLORMAP_NOTIFY = XInternAtom(dpy, "WM_COLORMAP_NOTIFY", False); | | /* Check for a running ICCCM 2.0 compliant WM */ | running_wm_win = XGetSelectionOwner(dpy, _XA_WM_SX); | if (running_wm_win != None) | { | DBUG( | "SetupICCCM2", | "another ICCCM 2.0 compliant WM is running"); | if (!replace_wm) | { | fvwm_msg( | ERR, "SetupICCCM2", | "another ICCCM 2.0 compliant WM is running," | " try -replace"); | exit(1); | } | /* We need to know when the old manager is gone. | Thus we wait until it destroys running_wm_win. */ | attr.event_mask = StructureNotifyMask; | XChangeWindowAttributes( | dpy, running_wm_win, CWEventMask, &attr); | } `---- So, is this valid? I looked at the "Xlib Programming Manual", which says: ,----[ 4.3 Properties and Atoms ] | | Certain property names are predefined in the server for commonly used | functions. The atoms for these properties are defined in | X11/Xatom.h. To avoid name clashes with user symbols, the #define name | for each atom has the XA_ prefix. For definitions of these properties, | see below. For an explanation of the functions that let you get and | set much of the information stored in these predefined properties, see | "Inter-Client Communication Functions". | | The core protocol imposes no semantics on these property names, but | semantics are specified in other X Consortium standards, such as the | Inter-Client Communication Conventions Manual and the X Logical Font | Description Conventions. `---- So, heading over there to the "Inter-Client Communication Conventions Manual", Version 2.0, X Consortium Standard, X Version 11, Release 6, we have: ,----[ 4. Client to Window Manager Communication ] | 4.3. Communication with the Window Manager by Means of Selections | | For each screen they manage, window managers will acquire ownership of | a selection named WM_Sn, where n is the screen number, as described in | section 1.2.6. Window managers should comply with the conventions for | "Manager Selections" described in section 2.8. The intent is for | clients to be able to request a variety of information or services by | issuing conversion requests on this selection. `---- So, fvwm id indeed doing that, and can detect anothe window manager following this (namely, another version of itself). I know that icewm is not doing this -- so is this a bug in these window managers for not following the Inter-Client Communication Conventions Manual, which is an X Consortium (and NIST) Standard? manoj -- Drop the vase and it will become a Ming of the past. The Adventurer Manoj Srivastava <[EMAIL PROTECTED]> <http://www.debian.org/%7Esrivasta/> 1024D/BF24424C print 4966 F272 D093 B493 410B 924B 21BA DABB BF24 424C -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]