Fix native applications handling

master
Marco Pesenti Gritti 17 years ago
parent e39232a622
commit 29bc0a8a20

@ -5,3 +5,4 @@
<Alt>n=next
<Alt>p=prev
<Alt>c=close
<Alt>f=fullscreen

@ -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

@ -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()

@ -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:

Loading…
Cancel
Save