[Geany-Devel] Proxy Plugins Update

Thomas Martitz kugel at xxxxx
Sat Jul 12 07:25:21 UTC 2014

Am 12.07.2014 01:35, schrieb Lex Trotman:
> On 12 July 2014 09:25, Matthew Brush <mbrush at codebrainz.ca> wrote:
>> On 14-07-11 01:25 PM, Thomas Martitz wrote:
>>> Am 11.07.2014 22:03, schrieb Colomban Wendling:
>>>> Le 07/07/2014 18:48, Thomas Martitz a écrit :
>>>>> [...]
>>>>> In my last post I've followed the approach of proxy plugins, aka pluxys.
>>>>> This approach is based on geanypy and implements a plugin API for
>>>>> plugins to act as proxy. I have mostly finished that (including an
>>>>> trivial example pluxy), and ported geanypy to this framework. The result
>>>>> is that with this approach I was successfully able to load python
>>>>> plugins with the core, including access to the plugin API, to the extend
>>>>> that geanypy allows plus keybindings via a new (experimental) API call.
>>>>> I think this should cover almost everything you would want for python
>>>>> plugins.
>>>>> Since with that work you can successfully load python plugins I consider
>>>>> this approach workable.
>>>> Nice.
>>>>> Now that the pluxy approach is in the final stages I went onto toying
>>>>> with libpeas.
>>>>> [...]
>>>>> There are three areas of problems with libpeas before we can adapt it,
>>>>> two of which I could already solve in a fork.
>>>>> [...]
>>>> If using libpeas really requires having a modified version of it lying
>>>> in our code, I'm not convinced it's a great idea.
>>> It's because we require modifications to it for backwards compat, this
>>> way we could maintain ABI and API stability across a transition to
>>> libpeas. We can drop it from our source after the transition period
>>> and/or convince upstream to accept rather geany-specific code (unlikely).
>>> Another issue is that upstream libpeas tends to require recent glib/gtk
>>> versions even when not justified. The fork would allow us to lower the
>>> glib/gtk requirements.
>> If they're not justified, then why not provide upstream with a patch that
>> lowers them to minimum version required?
>>> libpeas is tiny, and is not actively developed (one can consider the
>>> project mostly done). So I don't think it's a big deal really. On the
>>> other concept of libpeas does provide a lot of benefits so it's worth it
>>> IMO.
>>> What alternatives can you propose?
> Thomas,
> As I understand it you only need to bundle peas to be able to add the
> backward compatible loader?


> If that is going to be for a limited deprecation period (say two
> release periods after the peas version is released) then it is
> reasonable to argue that the changes to libpeas are Geany specific,
> for a limited period and not worth pushing upstream.

The changes would be very geany specific, although the first one 
(supporting plugins that are not described by a .plugin file) can 
perhaps be made generic in some way. But the loader is always going to 
be highly Geany specific, and I don't think it would be accepted by 
upstream, seeing that they even dropped a java script loader that is not 

But yea, but I didn't ask yet either. This is in part because the last 
mailing list activity is from 2012 which didn't receive any response.

I'd like to remember you about another point: Even if libpeas would 
accept all our modifictions like tomorrow, Geany realistically couldn't 
depend on it for the near future anyway (too new). By the time we can 
depend on it, i.e. when it lands in the current enterprise distros (REHL 
will probably only have it by RHEL 8), we probably don't even need to 
modifications anymore. This is the main reason that I don't think it's 
worth even trying to push the changes upstream: we wouldn't be able to 
use that upstream for a few years, and once we can we don't need these 
changes anymore.

Best regards.

More information about the Devel mailing list