n-engine created an issue (geany/geany#4437) Summary While building a third-party plugin from CI and locally, we hit a few doc gaps and gotchas that may be worth clarifying in the developer docs:
Debian/Ubuntu packaging: on Ubuntu runners the Geany plugin headers and geany.pc come from the geany package (not libgeany-dev, which doesn’t exist). pkg-config --modversion geany works after installing geany. Might be useful to document “Debian/Ubuntu: install geany (for headers + geany.pc)”. Recommended pkg-config flags for plugins (Makefile snippet): CFLAGS: $(pkg-config --cflags geany gtk+-3.0 gtksourceview-3.0) LIBS: $(pkg-config --libs geany gtk+-3.0 gtksourceview-3.0) Note: some distros only have GtkSourceView 4 → suggest swapping gtksourceview-3.0 → gtksourceview-4. Plugin install paths (quick reminder): User: ~/.config/geany/plugins/ System: /usr/lib/x86_64-linux-gnu/geany/ (varies by distro) Modern loader API example: recommend using geany_load_module(...) for plugin init/cleanup in examples/templates (some third-party snippets still show only plugin_init()/plugin_cleanup()). UI gotcha in Message Window: if a plugin adds clickable widgets to the bottom “message window” notebook, raw button events can bubble to Geany’s global handlers (e.g. “open file from build output”), causing “File not found” popups. Suggestion: document that plugin UIs in that area should stop propagation of button press/release on their widgets, or disable single-click activation on list containers. Threading note for examples: background work should marshal UI updates back to GTK main loop (e.g. via g_idle_add), and avoid GCC nested functions/trampolines (these can trigger “executable stack” warnings and crash if the callback outlives its parent frame). Environment Distro: Ubuntu (GitHub Actions ubuntu-latest) and local Debian/Ubuntu Geany from distro packages (CI) and from source (local) Observed CI errors before adjusting deps: Package geany was not found in the pkg-config search path… fatal error: geanyplugin.h: No such file or directory Why this helps A small paragraph in the plugin dev docs (packaging + pkg-config example + UI notes) would save first-time plugin authors time and reduce CI confusion on Debian/Ubuntu. Thanks for Geany + the plugin ecosystem! 🙌 -- Reply to this email directly or view it on GitHub: https://github.com/geany/geany/issues/4437 You are receiving this because you are subscribed to this thread. Message ID: <geany/geany/issues/[email protected]>
