[Geany-Devel] New plugin loader mechanisms

Steven Blatnick steve8track at xxxxx
Wed Mar 18 17:11:06 UTC 2015

I personally hope whatever the group decides to do with the plugins 
doesn't involve requiring a rewrite of all of them, because we'll surely 
lose plugins and supporters that way.

Concerning some of your perceived shortcomings:

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.  Someone would have to go out of their way to install most 
plugins outside of geany-plugins, and there is some vetting for that 
list of plugins.  I say by keeping the restrictions minimal on what 
plugins can access, we can get more powerful plugins and not block off 
potential plugins by our over-abstraction.

Take chrome/chromium browser, for instance.  They basically have 
restricted all plugins to be at most a button on the toolbar or 
effecting web pages.  There seems to be no possible way to write a 
plugin to get vertical tabbing I so appreciate in firefox (and geany for 
that matter) because chrome seems to have this stuck-up mac attitude 
that it's the way they intended, no customization allowed, "mission 
accomplished <https://www.youtube.com/watch?v=MgSQA1jqFpM>".  Maybe I'm 
wrong, maybe that's not chrome's motive, but I certainly don't like the 
lack of flexibility of their plugin architecture.  (If anyone knows a 
way on linux to get vertical tabs in chrome, that would be awesome ;-)

I suppose you could argue that having access to almost everything 
requires more frequent updating of plugins, but personally I haven't had 
more than one or two line changes with any update to geany. Plus then we 
have to worry more about plugin support and it's own set of bugs.

That's just my opinion.  Thoughts?


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geany.org/pipermail/devel/attachments/20150318/081f65ee/attachment.html>

More information about the Devel mailing list