[Bug 309506] gnome-panel twice in session

bugzilla-daemon at bugzilla.gnome.org bugzilla-daemon at bugzilla.gnome.org
Fri Jul 22 12:34:31 UTC 2005


Please DO NOT reply to this by email. All additional comments should be made in
the comments box of this bug report.

 http://bugzilla.gnome.org/show_bug.cgi?id=309506
 gnome-panel | general | Ver: 2.10.x





------- Additional Comments From Mark McLoughlin  2005-07-22 12:34 -------
Okay, writing down what's going on 'cause it feels like the 100th time I've had
to figure it out:

---
  - Most applications that support session management support the XSMP[1] 
    protocol. When they connect to the session manager they get a client ID from 
    the SM and set SM_CLIENT_ID[2] with that value on their client leader 
    window.

  - However, there is an obsolete X property based session management protocol
    which is defined in the ICCCM[3] commonly known as the WM_SAVE_YOURSELF
    protocol[4] where programs define properties like WM_COMMAND and WM_MACHINE
    in order for the window manager to save them when the session is saved.

  - So, what smproxy does is:

      1) Locate toplevels windows by looking for the WM_STATE[5] property -
         the property is merely used as an indication that the window is
         a (window) managed toplevel window

      2) It then locates the the client leader window by looking at the
         WM_CLIENT_LEADER property. If the property isn't set it just
         uses the toplevel itself as the client leader.

      3) It then looks for the SM_CLIENT_ID property, and if that isn't
         set it assumes the app doesn't have XSMP support.

      4) Next it looks for the WM_NAME, WM_COMMAND, WM_CLASS and 
         WM_CLIENT_MACHINE properties. If those properties are set,
         it creates acts as an XSMP proxy for the app with the session
         manager.

References:

  [1] - X Session Management Protocol specification 
        (xc/doc/hardcopy/SM/xsmp.ps.gz)
  [2] - Section 5 of the ICCCM, Session Management and Additional Inter-Client
        Exchanges
  [3] - Inter-Client Communications Conventions specification
        (xc/doc/hardcopy/ICCCM/icccm.ps.pgz)
  [4] - Apendix C of the ICCCM, Obsolete Session Manager Conventions
  [5] - Section 4.1.3.1 of the ICCCM, WM_STATE Property
---


The problem is that the panel now unsets the SM_CLIENT_ID property so that the
window manager won't save its window state and smproxy then thinks it needs to
act as an XSMP proxy for the panel.


------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the Pkg-gnome-maintainers mailing list