[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