> What do you mean by "specialist knowledge"? GObject interfaces are a 
> fundamental part of GObject (and GLib in general), just like signals.

Sorry not to be clear, DEFINING new GObjects is what is not so common, its no 
longer even in Glib.

> To make a core feature plugin-replacable you have to change Geany anyway. 
> Using either singals or interfaces requires knowledge about the GObject 
> fundamentals.

How do you need any GObject knowledge to emit signals? eg 
https://github.com/geany/geany/blob/master/src/document.c#L711

Note, I am not advocating for signals specifically, just something that is as 
easy to use on both sides as signals are.  I agree with your observation on 
passing data but don't think the other inefficiencies matter too much.

>  Interfaces are much more lightweight and easier to use correctly (IMO).

I will admit lack of familiarity, maybe it would be better if you could show an 
example, say what would it need in Geany and in the plugin for the plugin to 
replace Geany's autoindent 
[functionality](https://github.com/geany/geany/blob/master/src/editor.c#L1504) 
or just to get the indent 
[size](https://github.com/geany/geany/blob/master/src/editor.c#L1468) 

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1458#issuecomment-294350891

Reply via email to