[sugar] [PATCH 1/6] Add functionallity for tabbing trough activities.
Marco Pesenti Gritti
mpgritti at gmail.com
Fri Jun 20 05:02:22 EDT 2008
I would just add a set_tabbing_activity method. No tabbing activity
(None) means that no tabbing is in progress.
r+ with this change
Marco
On Thu, Jun 19, 2008 at 9:08 PM, Benjamin Berg
<benjamin at sipsolutions.net> wrote:
> To be able to raise activity windows on a delay, the homemodel needs to
> be set directly. It also needs to ignore window raises while the user is
> tabbing.
> ---
>
> src/model/homemodel.py | 15 +++++++++++++++
> 1 files changed, 15 insertions(+), 0 deletions(-)
>
> diff --git a/src/model/homemodel.py b/src/model/homemodel.py
> index a75adcf..be46ffb 100644
> --- a/src/model/homemodel.py
> +++ b/src/model/homemodel.py
> @@ -64,6 +64,7 @@ class HomeModel(gobject.GObject):
>
> self._activities = []
> self._active_activity = None
> + self._tabbing = False
>
> screen = wnck.screen_get_default()
> screen.connect('window-opened', self._window_opened_cb)
> @@ -102,6 +103,15 @@ class HomeModel(gobject.GObject):
> """Returns the activity that the user is currently working in"""
> return self._active_activity
>
> + def tabbing_set_activity(self, activity):
> + self._set_active_activity(activity)
> +
> + def tabbing_start(self):
> + self._tabbing = True
> +
> + def tabbing_stop(self):
> + self._tabbing = False
> +
> def _set_active_activity(self, home_activity):
> if self._active_activity == home_activity:
> return
> @@ -185,6 +195,11 @@ class HomeModel(gobject.GObject):
> logging.error("set_active() failed: %s" % err)
>
> def _active_window_changed_cb(self, screen, previous_window=None):
> + if self._tabbing:
> + # Ignore any window changes when tabbing, as these are comming
> + # in delayed.
> + return
> +
> window = screen.get_active_window()
> if window is None:
> return
>
> _______________________________________________
> Sugar mailing list
> Sugar at lists.laptop.org
> http://lists.laptop.org/listinfo/sugar
>
More information about the Sugar
mailing list