[Geany-devel] Plugins Guidance

Lex Trotman elextr at xxxxx
Tue Feb 21 04:15:39 UTC 2012


In another thread
http://lists.uvena.de/geany/2012-February/007808.html a couple of
things were mentioned about guidelines for plugins to be good
citizens.  So I thought it worthwhile gathering any suggestions so the
docs could be updated in one go.

Items mentioned to date:

1. don't set default keybindings, users will be annoyed if you
override their personal bindings.  Always let the user tell the plugin
what to use.
2. don't spread menu items through the Geany menus, users don't know
where to look and if several plugins add things to the same place the
menu may become unworkable.  You don't know what other plugins the
user will enable at the same time.

I add the following for consideration:

3. be aware of the performance, especially if your plugin does
something on every keystroke or change or at startup, other plugins
are likely to want to as well.  Just because the plugin works ok or
your computer by itself doesn't mean it will work well when the user
combines it with 15 others on their old notebook and they have heaps
of files open.

And on the development side, these have been mentioned before
ad-nauseum but still need emphasis:

4. make your plugin compile clean with -Wall -Wextra -O2
-Wno-unused-parameter with and without -ansi, and 64bit clean
5. don't use anything not *documented* in the plugin interface, a
change in Geany can make your plugin fail if you do.  But you are
protected against changes in the interface.

Any other thoughts?

Cheers
Lex



More information about the Devel mailing list