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:
- 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).
- 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@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel