diff options
-rw-r--r-- | src/jarabe/model/shell.py | 2 | ||||
-rw-r--r-- | src/jarabe/view/service.py | 9 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/jarabe/model/shell.py b/src/jarabe/model/shell.py index cfc49ab..709eb03 100644 --- a/src/jarabe/model/shell.py +++ b/src/jarabe/model/shell.py @@ -77,7 +77,7 @@ class Activity(gobject.GObject): self._activity_id = activity_id self._activity_info = activity_info self._launch_time = time.time() - self._launching = False + self._launching = True if window is not None: self.set_window(window) diff --git a/src/jarabe/view/service.py b/src/jarabe/view/service.py index a2439ce..df00ba6 100644 --- a/src/jarabe/view/service.py +++ b/src/jarabe/view/service.py @@ -80,10 +80,15 @@ class UIService(dbus.service.Object): @dbus.service.method(_DBUS_SHELL_IFACE, in_signature="s", out_signature="b") def ActivateActivity(self, activity_id): + """Switch to the window related to this activity_id and return a boolean + indicating if there is a real (ie. not a launcher window) activity + already open. + """ activity = self._shell_model.get_activity_by_id(activity_id) - if activity: + + if activity is not None and activity.get_window() is not None: activity.get_window().activate(gtk.get_current_event_time()) - return True + return not activity.props.launching return False |