Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/kbdconfig1
-rw-r--r--shell/model/homeactivity.py9
-rwxr-xr-xshell/view/home/activitiesdonut.py13
-rw-r--r--sugar/activity/activity.py4
4 files changed, 20 insertions, 7 deletions
diff --git a/shell/kbdconfig b/shell/kbdconfig
index 415c69f..073ac80 100644
--- a/shell/kbdconfig
+++ b/shell/kbdconfig
@@ -5,3 +5,4 @@
<Alt>n=next
<Alt>p=prev
<Alt>c=close
+<Alt>f=fullscreen
diff --git a/shell/model/homeactivity.py b/shell/model/homeactivity.py
index 72b661b..7365271 100644
--- a/shell/model/homeactivity.py
+++ b/shell/model/homeactivity.py
@@ -96,14 +96,17 @@ class HomeActivity(gobject.GObject):
def get_title(self):
"""Retrieve the application's root window's suggested title"""
- return self._window.get_name()
+ if self._window:
+ return self._window.get_name()
+ else:
+ return ''
- def get_icon_name(self):
+ def get_icon_path(self):
"""Retrieve the activity's icon (file) name"""
if self._activity_info:
return self._activity_info.icon
else:
- return 'image-missing'
+ return None
def get_icon_color(self):
"""Retrieve the appropriate icon colour for this activity
diff --git a/shell/view/home/activitiesdonut.py b/shell/view/home/activitiesdonut.py
index 6ae86bf..e2e7d36 100755
--- a/shell/view/home/activitiesdonut.py
+++ b/shell/view/home/activitiesdonut.py
@@ -65,7 +65,6 @@ class ActivityIcon(CanvasIcon):
}
def __init__(self, activity):
- icon_name = activity.get_icon_name()
self._orig_color = activity.get_icon_color()
self._icon_colors = self._compute_icon_colors()
@@ -74,8 +73,14 @@ class ActivityIcon(CanvasIcon):
self._level = self._level_max
color = self._icon_colors[self._level]
- CanvasIcon.__init__(self, file_name=icon_name, xo_color=color,
- size=style.MEDIUM_ICON_SIZE, cache=True)
+ CanvasIcon.__init__(self, xo_color=color, cache=True,
+ size=style.MEDIUM_ICON_SIZE)
+
+ icon_path = activity.get_icon_path()
+ if icon_path:
+ self.props.file_name = icon_path
+ else:
+ self.props.icon_name = 'image-missing'
self._activity = activity
self._pulse_id = 0
@@ -85,9 +90,9 @@ class ActivityIcon(CanvasIcon):
palette = Palette(_('Starting...'))
self.set_palette(palette)
- activity.connect('notify::launching', self._launching_changed_cb)
if activity.props.launching:
self._start_pulsing()
+ activity.connect('notify::launching', self._launching_changed_cb)
else:
self._setup_palette()
diff --git a/sugar/activity/activity.py b/sugar/activity/activity.py
index a7ae905..90bf56d 100644
--- a/sugar/activity/activity.py
+++ b/sugar/activity/activity.py
@@ -261,6 +261,7 @@ class Activity(Window, gtk.Container):
self.connect('realize', self._realize_cb)
self.connect('delete-event', self._delete_event_cb)
+ self.connect('window-state-event', self._window_state_event_cb)
self._active = False
self._activity_id = handle.activity_id
@@ -344,6 +345,9 @@ class Activity(Window, gtk.Container):
else:
logging.debug("Unknown share scope %r" % share_scope)
+ def _window_state_event_cb(self, window, event):
+ logging.info(event.new_window_state)
+
def do_set_property(self, pspec, value):
if pspec.name == 'active':
if self._active != value: