From 297eab738f4cdae5b66c8e43bab0a9d51a46c66c Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Wed, 13 Jul 2011 13:08:43 -0400 Subject: [PATCH] gnome-shell-jhbuild.in: Fix restore_gnome. The gconf keys used to restore GNOME aren't in a proper GNOME3 environment. To mimic what GNOME3 gnome-session does would be extremely complicated, so just launch the system gnome-shell. https://bugzilla.gnome.org/show_bug.cgi?id=654527 --- src/gnome-shell-jhbuild.in | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/gnome-shell-jhbuild.in b/src/gnome-shell-jhbuild.in index 924e9b386..a346f9105 100755 --- a/src/gnome-shell-jhbuild.in +++ b/src/gnome-shell-jhbuild.in @@ -532,7 +532,7 @@ def restore_gnome(): component = client.get_string(gconf_path) if component == None or component == "": - return + return False # See gnome-session/gsm-util.c:gsm_util_find_desktop_file_for_app_name() # The one difference is that we don't search the autostart directories, @@ -549,9 +549,15 @@ def restore_gnome(): if appinfo: appinfo.launch() + return True + return False - launch_component("/desktop/gnome/session/required_components/windowmanager") - launch_component("/desktop/gnome/session/required_components/panel") + # GNOME2 fallback + wm = launch_component("/desktop/gnome/session/required_components/windowmanager") + panel = launch_component("/desktop/gnome/session/required_components/panel") + + if not wm and not panel: # Probably GNOME3 + subprocess.Popen(['gnome-shell']) # Main program