Comment 42 for bug 1682542

Revision history for this message
In , Nmg921 (nmg921) wrote :

(In reply to Lester Carballo from comment #30)
> I think to be possible do that, is necessary:
>
> 1- Split extensions by categories (this will handled in a good way the
> interaction of an extension with all panels, as the extensions will extends
> for a control class that limited the possibility of the extensions making it
> more controllable).
> - General extensions.
> - Panel extensions.
> All panel extensions will have one and only one actor inside the panel, they
> can add more actors inside this actor and this one actor will be provided by
> gnome shell controlled class.
>
> Then it's easy move the actor between panels, as is one actor per extensions.
>
> 2- Allow the possibility of create more than one instance per extension. We
> the can have one extension in one panel and another in another panel or both
> running in the same panel.
>
> 3- Create a panel manager class with a list of available panels. To be
> possible set the actor of the extension in an specific panel.
>
> 4- Allow drag and drop the actor between panel and also set it in a panel
> position, to re-layout the desktop as a user request.
>
> 5- Finally, please considered take a look to the cinnamon implementation,
> where all this and more is possible.
>
> The only real way that this could be possible is if this come from
> gnome-shell. Non official extensions can not defined general desktop
> protocols. So, the desktop is who need to create the general abilities to
> organized functionalists that will not conflicted then all together.

Actions of "Panel Extensions" are not panel specific so there no reason to make more than one instance, because both instances will do the same thing. Clone of the icon (actor) of the extension in all of panels connected to the same instance would be enough to give access to all of it's functionality without running the same code twice.
Neither drag-and-drop support nor Panel manager are needed for this. Just every panel draws icons of all instanced extensions.