[Sugar-devel] [PATCH sugar] Launcher: set the standard SPLASHSCREEN hint instead of our own _SUGAR_WINDOW_TYPE hint

Manuel Quiñones manuq at laptop.org
Thu Aug 23 16:19:57 EDT 2012


Yes, the launch window works with this standard SPLASHSCREEN.  Great work.

2012/8/23 Simon Schampijer <simon at schampijer.de>:
> From: Simon Schampijer <simon at laptop.org>
>
> Currently we have issues with introspecting gdk_property_get and we already
> have a wrapper around gdk_property_change [1]. We discussed reimplementing
> the toolkit wm module in C, and provide the following functions:
>
> get_activity_id
> get_bundle_id
> set_activity_id
> set_bundle_id
>
> To prepare for this move we want to remove our own _SUGAR_WINDOW_TYPE
> hint and replace it with the standard SPLASHSCREEN one [2][3], which is
> done in this patch.
>
> [1] http://wiki.sugarlabs.org/go/Features/GTK3/Shell#gdk_property_change
> [2] http://www.pygtk.org/docs/pygtk/gdk-constants.html#gdk-window-type-hint-constants
> [3] http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html
>
> Signed-off-by: Simon Schampijer <simon at laptop.org>

Acked-by: Manuel Quiñones <manuq at laptop.org>

> ---
>  src/jarabe/model/shell.py   | 8 +++++---
>  src/jarabe/view/launcher.py | 4 +---
>  2 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/src/jarabe/model/shell.py b/src/jarabe/model/shell.py
> index 31605f7..1f3ee8d 100644
> --- a/src/jarabe/model/shell.py
> +++ b/src/jarabe/model/shell.py
> @@ -521,7 +521,8 @@ class ShellModel(gobject.GObject):
>             them.
>
>           """
> -        if window.get_window_type() == wnck.WINDOW_NORMAL:
> +        if window.get_window_type() == wnck.WINDOW_NORMAL or \
> +                window.get_window_type() == wnck.WINDOW_SPLASHSCREEN:
>              home_activity = None
>
>              activity_id = wm.get_activity_id(window)
> @@ -552,7 +553,7 @@ class ShellModel(gobject.GObject):
>                  logging.debug('window registered for %s', activity_id)
>                  home_activity.add_window(window)
>
> -            if wm.get_sugar_window_type(window) != 'launcher' \
> +            if window.get_window_type() != wnck.WINDOW_SPLASHSCREEN \
>                      and home_activity.get_launch_status() == Activity.LAUNCHING:
>                  self.emit('launch-completed', home_activity)
>                  startup_time = time.time() - home_activity.get_launch_time()
> @@ -563,7 +564,8 @@ class ShellModel(gobject.GObject):
>                  self._set_active_activity(home_activity)
>
>      def _window_closed_cb(self, screen, window):
> -        if window.get_window_type() == wnck.WINDOW_NORMAL:
> +        if window.get_window_type() == wnck.WINDOW_NORMAL or \
> +                window.get_window_type() == wnck.WINDOW_SPLASHSCREEN:
>              xid = window.get_xid()
>              activity = self._get_activity_by_xid(xid)
>              if activity is not None:
> diff --git a/src/jarabe/view/launcher.py b/src/jarabe/view/launcher.py
> index 5c645c4..e9f81d7 100644
> --- a/src/jarabe/view/launcher.py
> +++ b/src/jarabe/view/launcher.py
> @@ -32,7 +32,7 @@ class LaunchWindow(gtk.Window):
>      def __init__(self, activity_id, icon_path, icon_color):
>          gobject.GObject.__init__(self)
>
> -        self.props.type_hint = gtk.gdk.WINDOW_TYPE_HINT_NORMAL
> +        self.props.type_hint = gtk.gdk.WINDOW_TYPE_HINT_SPLASHSCREEN
>          self.props.decorated = False
>          self.modify_bg(gtk.STATE_NORMAL, style.COLOR_WHITE.get_gdk_color())
>
> @@ -94,8 +94,6 @@ class LaunchWindow(gtk.Window):
>
>      def __realize_cb(self, widget):
>          wm.set_activity_id(widget.window, str(self._activity_id))
> -        widget.window.property_change('_SUGAR_WINDOW_TYPE', 'STRING', 8,
> -                                      gtk.gdk.PROP_MODE_REPLACE, 'launcher')
>
>      def __size_changed_cb(self, screen):
>          self._update_size()
> --
> 1.7.11.4
>
> _______________________________________________
> Sugar-devel mailing list
> Sugar-devel at lists.sugarlabs.org
> http://lists.sugarlabs.org/listinfo/sugar-devel



-- 
.. manuq ..


More information about the Sugar-devel mailing list