Bug 9766 - metacity cannot replace compiz
Summary: metacity cannot replace compiz
Alias: None
Product: xorg
Classification: Unclassified
Component: App/compiz (show other bugs)
Version: 7.1 (2006.05)
Hardware: Other All
: medium normal
Assignee: David Reveman
QA Contact: Xorg Project Team
Depends on:
Reported: 2007-01-25 20:51 UTC by kronheim
Modified: 2009-02-05 11:13 UTC (History)
0 users

See Also:
i915 platform:
i915 features:

Try and fix session restart (1.42 KB, patch)
2007-01-26 11:35 UTC, kronheim
no flags Details | Splinter Review

Description kronheim 2007-01-25 20:51:07 UTC
Since the "Session restart support" was added to compiz (Janueary 13th), it is no longer possible to replace the window manager reliably. Steps to reproduce:

1. Start compiz.
2. Open a terminal.
3. Type metacity --replace.

Expected result: metacity replaces compiz as window manager
Actual result: compiz relaunches itself.

Sometimes, it works to type "killall compiz && metacity --replace", but this does not always have the desired result.
Comment 1 kronheim 2007-01-26 11:35:47 UTC
Created attachment 8508 [details] [review]
Try and fix session restart

I looked at metacity and tried to fix this issue.

I think the function closeSession() needs to change the SmRestartStyleHint to something other than SmRestartImmediately before exiting. Also, the eventLoop() needs to return to main when it receives shutDown, so that main can call closeSession() before exiting.

The patch is intended to do these two things.
Comment 2 Daniel Stone 2007-02-27 01:35:57 UTC
Sorry about the phenomenal bug spam, guys.  Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Comment 3 Kristian Lyngstøl 2009-02-05 11:13:59 UTC
We've looked at the session code at least a few times since this. This should be fixed. 

Please reopen the bug at bugs.opencompositing.org if you still experience this.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.