From f15b689132082f8edc7408902aad9c27809624b9 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Sun, 05 Apr 2009 16:36:05 +0000 Subject: Take into account launcher windows when checking if an already instance is running #461 --- 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 -- cgit v0.9.1