diff options
author | Sascha Silbe <silbe@activitycentral.com> | 2011-07-24 03:14:32 (GMT) |
---|---|---|
committer | Sascha Silbe <silbe@activitycentral.com> | 2011-07-30 19:52:17 (GMT) |
commit | c7f1f5a2be4593dee11a903f96f9934d228e87ec (patch) | |
tree | d4ad0aee19e8254310b3ffb9286030613c12ea54 /bin | |
parent | db6eacb7a65ce80c673d13706ca14861556b6206 (diff) |
sugar-session: Check for already-running window manager on start-up
This not only fixes a race condition (metacity is started before sugar-session
in sugar), but also allows running Sugar inside a different window manager.
Signed-off-by: Sascha Silbe <silbe@activitycentral.com>
Acked-By: Simon Schampijer <simon@laptop.org>
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/sugar-session | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/bin/sugar-session b/bin/sugar-session index 91ebf6f..4b714c3 100755 --- a/bin/sugar-session +++ b/bin/sugar-session @@ -259,16 +259,23 @@ def main(): screen = wnck.screen_get_default() screen.connect('window-manager-changed', __window_manager_changed_cb) + _check_for_window_manager(screen) try: gtk.main() except KeyboardInterrupt: print 'Ctrl+C pressed, exiting...' + def __window_manager_changed_cb(screen): + _check_for_window_manager(screen) + + +def _check_for_window_manager(screen): wm_name = screen.get_window_manager_name() if wm_name is not None: screen.disconnect_by_func(__window_manager_changed_cb) bootstrap() + main() |