@Forkest first thing, thanks a lot for the time and effort you put into this, 
which lead to understanding the issue a lot better, that's awesome. Same goes 
to LRN.

@elextr 
> Also one of the contributors had a first look at accelerators and came upon 
> the stumbling block that they only allow one closure per binding, not sure if 
> they found any workaround to that.

Well. Actually, do we even need that?  I mean, I don't see any actual use for 
binding more than one think to the same key from the user point of view: there 
is no way for the user to know when which would be activated, it solely depends 
on how the handler is implemented, and nothing exposes that to the user.  So if 
it's a mere internal, we could likely just have an internal handler list we 
activate in order when the "single" keybinding handler is called.  If we really 
do need this multi-handler thing in the first place.

Yes, the issue here is really not trivial, because keybinding handling in Geany 
has a fair share of subtleties (not to say "weirdness"), but some are important 
(like the VTE part).
But, just as you are, I'm not very fond of Geany's keybinding handling.  I'm 
not either fond of changing something so fundamental when it works; but 
apparently it's actually not working properly.

So IMO we should consider the two possible solutions: fix our code (if that's 
even doable), or switch to the "proper" GTK methods for handling keybindings.

> Since the keybinding activates the menu making it inactive is what stops it 
> trying to copy when there is nothing selected. And while you may understand 
> that, there are many inexperienced users of Geany.

Not really: Geany's custom keybinding handling will not consider the menu 
sensitiveness, and all handlers are guarded appropriately.  And well, in this 
case it's not guarded, but it's not useful: copy/cut just doesn't do anything 
when there's no selection.
Currently items sensitiveness is just a display thing.  Important for the UI 
POV, but not for the internal logic one.

-- 
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/1368#issuecomment-277511037

Reply via email to