[Geany-Devel] Order of plugin signal connections

Matthew Brush mbrush at xxxxx
Fri May 15 06:56:23 UTC 2020

On 2020-05-14 11:31 p.m., Austin Green wrote:
> Hi Matthew,
>> Just to be clear, you are talking about this:
>> https://github.com/geany/geany-plugins/blob/062865e3b57a3baa882f69e4f3bc291278c200e4/keyrecord/src/keyrecord.c#L99
> Yes, that's the one.
>> and depending on the order the plugins connect to same signal as well as
>> whether or not they return `TRUE` from their signal handler, there's no
>> guarantee the `keyrecord` plugin gets too see all
>> `ScintillaObject::key-press-event` signal emissions?
> No, I was wrong with my first guess about the order mattering; it turns that it's just the fact that anything else (Geany or plugin) binds to a key makes that key unavailable to 'keyrecord'.

That doesn't sound right. Anything that connects to say 
`ScintillaObject::key-press-event` has the opportunity to propagate that 
signal to other handlers by returning `FALSE` from the handler function. 
Any plugins which swallow GTK+ events, preventing them to be handled by 
other plugins or core itself, should be highly suspect, as far I can see.

Matthew Brush

More information about the Devel mailing list