Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/jarabe/model/shell.py
diff options
context:
space:
mode:
authorDaniel Drake <dsd@laptop.org>2009-11-25 12:48:06 (GMT)
committer Daniel Drake <dsd@laptop.org>2009-11-27 12:21:16 (GMT)
commita5e9b88892c6402bde5f72a73172e4fbfef0d2fe (patch)
treeb8cbffe01b8228773d4b33ecbe724fafae770219 /src/jarabe/model/shell.py
parentd83d3fce34c86a617cb6524e00c3383cece15222 (diff)
Activate windows when changing to activity view
This patch fixes a bug where pressing F4 immediately after starting Sugar does not switch to the Journal. This happened because the Journal has not yet been activated, so when the desktop is hidden in response to pressing F4, there is no active window to take over the display. The journal starts in iconified state. We also have to be careful about propogating correct X event times for the F4 keypress case (this is not an event that GTK+ handles, it comes from KeyGrabber).
Diffstat (limited to 'src/jarabe/model/shell.py')
-rw-r--r--src/jarabe/model/shell.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/jarabe/model/shell.py b/src/jarabe/model/shell.py
index de5a66f..ac2ef75 100644
--- a/src/jarabe/model/shell.py
+++ b/src/jarabe/model/shell.py
@@ -349,7 +349,7 @@ class ShellModel(gobject.GObject):
self.zoom_level_changed.send(self, old_level=old_level,
new_level=new_level)
- def _set_zoom_level(self, new_level):
+ def set_zoom_level(self, new_level, x_event_time=0):
old_level = self.zoom_level
if old_level == new_level:
return
@@ -370,10 +370,17 @@ class ShellModel(gobject.GObject):
show_desktop = new_level is not self.ZOOM_ACTIVITY
self._screen.toggle_showing_desktop(show_desktop)
+ if new_level is self.ZOOM_ACTIVITY:
+ # activate the window, in case it was iconified
+ # (e.g. during sugar launch, the Journal starts in this state)
+ window = self._active_activity.get_window()
+ if window:
+ window.activate(x_event_time or gtk.get_current_event_time())
+
def _get_zoom_level(self):
return self._zoom_level
- zoom_level = property(_get_zoom_level, _set_zoom_level)
+ zoom_level = property(_get_zoom_level)
def _get_activities_with_window(self):
ret = []