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?
Thanks,
Steve
_______________________________________________
Devel mailing list
Devel@lists.geany.org
https://lists.geany.org/cgi-bin/mailman/listinfo/devel