Am I missing something here? Is all this work needed just to remove a gadget hot key? Couldn't we just re-assign it to a internal invisible gadget (effectively disabling it) or am I being stupid?
There are (at least) two ways of assigning a hotkey to a gadget in gtk. Either when you create the gadget (in which case gtk does not let you change it in any way whatsoever after creating it), or by using the above mentioned gtk api. So yes, it's painful, but unfortunately it appears to be necessary to duplicate behaviour on other platforms.
And I basically agree on the "don't change the API" point, just thought I'd offer up the thought in case it sounded like an easier way through.
And apologies, but I didn't get time to fire up linux this evening (finally decided to sit down and watch atonement on DVD with the wife - she might stop moaning about time on the computer for a couple of days now...)
As for treeview bug reports, not sure where to start, and have never really dug into it to be honest : but I've seen enough to have my suspicions! The one thing I know for sure causes some kind of issue is free-ing / removing nodes. Look in the official ide code for wherever it sync's datanodes & treenodes. I think you'll find a FreeTreeViewNode wrapped in a ?macos construct. TBH, I've tended to leave well alone, so never tried to isolate the problem, which doesn't help you I'm afraid...