Container Plugins

Nicolas Masse masse_nicolas at
Thu Sep 15 16:22:31 CEST 2005

On Thu, 15 Sep 2005 14:19:18 +0200
Jasper Huijsmans <jasper at> wrote:

> Biju Chacko schreef:
> > Hi,
> > 
> > The question of the clock in the systray kicked off another line of thought.
> > 
> > I think it may be desirable to allow a class of plugins we could call 
> > container plugins.
> > 
> > These are plugins that would hold other plugins. I can see a number of 
> > uses for them:
> > 
> > * The simplest case: a frame around a few other plugins.
> > 
> > * A drawer: a popup "menu" of plugins.
> > 
> > * A collapsible group: A group of plugins that can be collapsed into a 
> > single icon and vice versa.
> > 
> > * Alternative orientations: Group icons in columns on a horizontal panel 
> > or rows in a vertical panel. Helpful if you have an unusually wide or 
> > tall panel.
> > 
> > This could be a basis for future development of things like sidebars or 
> > desklets.
> > 
> > Again, Jasper is probably a better judge than I of whether this is worth 
> > the effort or not.
> > 

Yes, I think this can be the way to go.

> Very nice ideas. I did think about this. But not for long ;-) It would 
> be rather nice to have, but I suspect it will complicate the user 
> interface as well as the code considerably.

Not that much IMHO. 

I have perhaps an idea:
In the contextual menu we have (were it is possible to add plugin), just add a 'add container' option (an perhaps also a remove container one) . Then the user can choose the type of container he wants to add (framebox, handlebox, ...) . This can be done bu prompting a dialog or making a submenu for choosing the type. (I prefer a menu). 
If he choose 'add plugin', the plugin is just added to the current container. If he choose 'add container', the new container is added just after the current one. 
Also, for the usuability put of view, it is possible to have default container who does have some common launcher in a simple Box, or the systray and time in a framebox, or the taskbar in a handle box, or....

Now for the implementation, I think we can use descendant of GtkContainer.  The only things is that XfcePanelPlugin will be attached to these descendant instead of the panel (or what they are attached to). At least, these container can be attached to the panel in place of the plugins. (but it is certainly possible to do better).
For the plugin interface, I don't think it change anything.

> It will be _lot_ of work to get this right, I suspect. If we want a 4.4 
> release this year, this is out of the question, unless someone can show 
> me how to do this easily with a simple user interface... and write a 
> patch to implement it.

There is not too much work I think, but I agree the end of the year is perhaps a little too short for having a stable version. (except if I found lots of time ;-) )

> 	Jasper

Hope it helps, 

NOTE: Perhaps someone can fill the xfce wiki with these idea? (I can do if you want)

More information about the Xfce4-dev mailing list