[Geany-devel] GObject, new plugin interface .... & Vala bindings

Nick Treleaven nick.treleaven at xxxxx
Fri Apr 29 17:12:20 UTC 2011


On Thu, 28 Apr 2011 09:01:08 +0200
Frank Lanitz <frank at frank.uvena.de> wrote:

> > During the last weeks a huge number mails at this list was stating to
> > make usage of GObject on building up a new plugin interface. It has been
> > talked about libpeas and adding support for Vala, Python etc. Before we

BTW Colomban started work on Vala bindings without changing the
plugin API:
http://gitorious.org/geany-vala-binding

I think this is great. It might be doable to maintain this with Geany's
API when ready. This would be a big leap forward for plugin writers,
and little/no impact on the existing API.

> > do discuss any further I'd like to point to an email Enrico sent
> > earlier this year onto this list:
> >
> > http://lists.uvena.de/geany-devel/2011-February/003905.html
> >
> > Originally Geany wasn't designed/coded to work with GObject. Moving to
> > an plugin interface using this would most likely cause rewriting of a
> > lot of code. However, if really somebody of you like to go this
> > further I suggest to start a new branch where all changes can be
> > tracked in.
> > But before we can discuss about the positive/negativ points I just
> > want to ask who likes to take over this task as a kind of lead
> > engineer and project manager to be the lead here having in mind it will
> > most likely not a 5-minute-task?
> 
> What's the outcome here? I saw a lot of technical discussion followed up 
> by my original posting but nobody took over the rule to bring all the 
> idea into synch. Not sure whether I might did miss something.

Just to add my point of view:

1. I think this would be very disruptive to both Geany's core and
existing plugins. I also really don't like GObject code in C.

2. Would it actually work? Geany is not a shared library, so this
might cause problems for dynamic language bindings. Until this and
perhaps other issues are dealt with, we should not start on using
GObject IMO. (To prove dynamic bindings would be possible, a minimal
binding for the current API could be made).

Regards,
Nick



More information about the Devel mailing list