Plugin interface: Information and Version
edscott wilson garcia
edscott at lunar-linux.org
Thu Nov 13 16:26:29 CET 2003
On Wed, 2003-11-12 at 08:59, Jasper Huijsmans wrote:
> > If you could make these functions to be shared live in a library
> > instead
> > of the xfce4 binary, I, for one, would be grateful. My crazy idea
> That was my intention. Mind you there's no code yet.
But you are mistaken. The same code within the xfce can be moved to a
library, no changes necessary. Only a header file to define the
functions. The rest would be to perform some changes to the Makefile.am
file. An interesting thing I've found out is that a library *not*
constructed with the intention of being a plugin module, can indeed be
loaded as a module, no sweat lost (as long as any other libraries
referenced in the module are linked into the program. Neat thing this
gmodule business :-)
> > this
> > morning (well, I've pondering for a while) is to make the xffm
> > toolbars
> > configurable by turning the elements into plugins. These would be
> > xfce4
> > compatible so they could be shared.
> What toolbar elements do you mean exactly?
For me, basically: launcher, two-state launcher, sticky-launcher. But
xffm should be able to accept any, like clock, notes, system load, etc.
> What I though initially when you started xffm, was that the toplevel
> tree branches could be provided by plugins (local, bookmarks,
> samba, ...).
I didn't fully understand you then. Now that I realize the full
potential of gmodules, I agree. You can expect to see progress in this
direction in the future.
> > One plugin I see missing is a "sticky launcher", which is the same as
> > a
> > "launcher", with the exception that the last clicked-on menu element
> > gets swapped with the main launcher element. This will be needed for
> > xffm and would be a nice option to have for xfce4.
> Perhaps a 'recently lauched programs' plugin taking the form of a
> normal launcher. Interesting ...
That's interesting, but not what I meant. The "sticky-launcher" is no
different from a normal launcher with menu, except that the launcher
icon and command are always those from the last menu entry selected. All
that needs to be done is derive from the launcher plugin and rewrite the
xfce4-panel configuration after successful execution of a menu element.
Quite simple. Maybe even a simple configuration option for the launcher
would be enough.
This kind of button appears in programs like Autocad and is useful once
you get the hang of it.
> Blue sky mode:
> While we are discussing some broader design issues, what I was thinking
> about for the panel was to create an XfceItembar widget that can
> contain XfceItem elements with a well defined interface to set/get
> orientation, iconsize, etc. This could be used by the panel, the
> taskbar and the iconbox.
> Plugins would provide ways to create an XfceItem instance. This could
> perhaps even give us some sort of general plugin API for Xfce. Using
> this interface it would be easy to incorporate panel items like the
> clock into the taskbar, and also the systemtray and the graphical pager
> could be shared.
Yes, that would be excellent. For API definition we should proceed from
that presently used by xfce4 panel. This would allow work on all fronts
to continue while new API's are designed and implemented.
> Or alternatively the taskbar and iconbox could become instances of the
> panel, I haven't decided what I would prefer.
The panel, IMO, should be able to accomodate the icon box somehow. Maybe
by creating a plugin version of the iconbox.
OT, I would like to add to the icon selection for launchers: a
"mimetype" menu entry would permit for immediate navigation of all
xffm-icons. This functionality would only appear if the mime module can
be loaded. What do you think? (the mime module needs some changes to
make this possible). It's a PITA to always go navigating the filesystem
in search for custom icons.
> > >
> > > Definitely 4.2,
> > >
> Or even later ... ;-)
> > > Jasper
> Xfce4-dev mailing list
> Xfce4-dev at xfce.org
More information about the Xfce4-dev