[sugar] [PATCH] Change tabbing to show a preview by opening the frame

Tomeu Vizoso tomeu at tomeuvizoso.net
Tue Jun 10 03:58:21 EDT 2008


Hi Benjamin,

On Thu, Jun 5, 2008 at 12:20 AM, Benjamin Berg
<benjamin at sipsolutions.net> wrote:
> Hello,
>
> Some patches that implement nicer tabbing will follow. With the patches
> applied, pressing <Alt>+Tab will show the frame. The activity that will
> be selected as soon as <Alt> is released again is shown by popping up
> its palette.

Eben, could you apply these patches to your jhbuild and comment on the
user experience?

> Unfortunately there are a couple of issues with palettes.
>
> One issue is that that at first only the primary palette is shown, but
> after a while the secondary palette will pop up (as the timeout is
> started automatically).

Can you look at how the secondary palette is displayed by the right
click? I understand that's what you want, right?

> Then I am accessing the _update_position function of the Palette
> directly, to handle disappearing activities properly.

You mean to move left the palette when another activity icon
disappears? Perhaps the Invoker should be listening for position
changes on the observed widget and move the palette accordingly?

> The third thing I noticed is that there is a race condition in the
> Palette (which I think is my fault ...). I'll need to have a look at how
> to fix this.
> (The reason for the race is the code that delays the "popup" signal
> until the window has been mapped. IIRC that was needed so the gab
> drawing would work properly.)

Ok.

Before looking in detail at the code, have you considered relying on
the window manager to do the tabbing and have the shell to just
observe the changes on the tabbing stack? Perhaps wnck can help on
that?

Although I could find some time this week to look at these patches, I
would be happier if Marco could find time do do it, as he knows better
about these window manager stuff. I know he's very busy, though...

Thanks,

Tomeu


More information about the Sugar mailing list