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]>

Reply via email to