[Geany-Devel] New plugin loader mechanisms

Steven Blatnick steve8track at xxxxx
Mon Mar 30 15:42:57 UTC 2015


Re-sending as I don't see my email in 
https://lists.geany.org/cgi-bin/mailman/listinfo/devel

Thanks.  I didn't realize this.  If you have a chance, maybe you could 
spot check my plugins:

    https://github.com/sblatnick/geany-plugins

        quick-* plugins
        external-tools
        tab-utils
        hide-menu

I worry most of them have at non-api calls.  Is there an easy way to 
tell what is API and what is not?  I primarily had been just grepping 
the code for what I needed.

Also, since I'm on the topic of how to write plugins currently, can 
anyone suggest a good tutorial for adding plugins to the geany-plugins 
build system?  I think that may be the biggest thing keeping me from 
adding my plugins to geany-plugins.

I apologize if I missed replying to anyone since there have been a lot 
of emails going around about plugins and I may have missed other 
references to mine.

Thanks,

Steve

On 03/29/2015 09:51 AM, Colomban Wendling wrote:
> Hi,
>
> Le 18/03/2015 18:11, Steven Blatnick a écrit :
>> On 03/18/2015 10:42 AM, Thomas Martitz wrote:
>>> Currently geany exports a pointer to a struct, that contains more
>>> structs, which contain function points to the API functions.
>>> Fortunately this is nicely hidden to developers via macros. But due to
>>> gtkbuilder all functions and nothing prevents plugins from accessing
>>> these. And the macros are awkward and strange anyway. There is
>>> currently the linkage-cleanup PR in the works which improves this by
>>> actually exporting the API functions, and _only_ the API functions to
>>> plugins.
>> Maybe I'm completely wrong on this from an architecture perspective, but
>> part of what I like about writing plugins for geany is accessibility.
>> If we only get access to a subset of functions, then it seems less
>> flexible what our plugins can actually do.  Yes, this allows us to write
>> bad plugins that can do some sloppy things, but I say "so what".  They
>> are plugins.  […]
> In addition to what Thomas said (which is very true), realize two things:
>
> 1) plugins that use functions not part of the API won't work e.g. on
> Windows (for technical reasons, all functions are currently actually
> usable under *NIX, but on Windows only explicitly exported ones are).
> So if you care about your plugin working on Windows you'll stick to the
> official API anyway (the one we commit to and maintain).
>
> 2) before Geany 1.22, you couldn't use non-API anyway.  If you were
> happy with the API before, you'll still be after this change.
>
> Regards,
> Colomban
> _______________________________________________
> Devel mailing list
> Devel at lists.geany.org
> https://lists.geany.org/cgi-bin/mailman/listinfo/devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geany.org/pipermail/devel/attachments/20150330/f9c5e002/attachment-0001.html>


More information about the Devel mailing list