[gnome-shell] Revert "Defer initializing UI until after the global session has loaded"
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] Revert "Defer initializing UI until after the global session has loaded"
- Date: Wed, 6 Mar 2013 22:26:39 +0000 (UTC)
commit 1dceae97c6cb1e14548773eec7944775f84719ce
Author: Ray Strode <rstrode redhat com>
Date: Wed Mar 6 17:25:28 2013 -0500
Revert "Defer initializing UI until after the global session has loaded"
This reverts commit 0bef925b5146794220a552f3422b0c0616466425.
Just for now. Jasper has plans to clean up start up eventually.
https://bugzilla.gnome.org/show_bug.cgi?id=694321
js/ui/main.js | 20 +++++++++-----------
js/ui/sessionMode.js | 9 ++++++---
2 files changed, 15 insertions(+), 14 deletions(-)
---
diff --git a/js/ui/main.js b/js/ui/main.js
index 936d74e..015b4b6 100644
--- a/js/ui/main.js
+++ b/js/ui/main.js
@@ -98,21 +98,19 @@ function start() {
Gio.DesktopAppInfo.set_desktop_env('GNOME');
- shellDBusService = new ShellDBus.GnomeShell();
- shellMountOpDBusService = new ShellMountOperation.GnomeShellMountOpHandler();
-
sessionMode = new SessionMode.SessionMode();
- sessionMode.connect('sessions-loaded', _sessionsLoaded);
- sessionMode.init();
-}
-function _sessionsLoaded() {
- sessionMode.connect('updated', _sessionUpdated);
- _initializeUI();
- _sessionUpdated();
+ // start session after we know what mode we're running in
+ let signalId = sessionMode.connect('updated', function() {
+ sessionMode.disconnect(signalId);
+ startSession();
+ });
}
-function _initializeUI() {
+function startSession() {
+ shellDBusService = new ShellDBus.GnomeShell();
+ shellMountOpDBusService = new ShellMountOperation.GnomeShellMountOpHandler();
+
// Ensure ShellWindowTracker and ShellAppUsage are initialized; this will
// also initialize ShellAppSystem first. ShellAppSystem
// needs to load all the .desktop files, and ShellWindowTracker
diff --git a/js/ui/sessionMode.js b/js/ui/sessionMode.js
index 7d6b2e4..e926ba2 100644
--- a/js/ui/sessionMode.js
+++ b/js/ui/sessionMode.js
@@ -158,7 +158,12 @@ function listModes() {
const SessionMode = new Lang.Class({
Name: 'SessionMode',
- init: function() {
+ _init: function() {
+ global.connect('notify::session-mode', Lang.bind(this, this._sync));
+ this._modes = _modes;
+ this._modeStack = [DEFAULT_MODE];
+ this._sync();
+
_getModes(Lang.bind(this, function(modes) {
this._modes = modes;
let primary = modes[global.session_mode] &&
@@ -166,8 +171,6 @@ const SessionMode = new Lang.Class({
let mode = primary ? global.session_mode : 'user';
this._modeStack = [mode];
this._sync();
-
- this.emit('sessions-loaded');
}));
},
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]