Implements custom command keybindings in the Shell
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
It could work, but no. Not in the code's current state. Don't do the binding-N thing, instead create a schema with one binding and create a custom path. I also don't know why you're writing to settings on enable/disable, as that's not what should happen.
If not on enable/disable, where should I populate my proxy-copy of the GSettings ?
Why do you need a proxy copy?
Because the mutter API expects a key named "X" which has a list of strings. The g-s-d schema is a directory name X which contains a key named "binding" which contains a single string. So I can't pass the original one to mutter, hence the temporary (never committed) proxy copy.
Ah, OK. Thanks for the explanation. The other comments still apply.
I wish I could use the same schema with a single binding and a custom path, but that's not possible because again because of the way the mutter API is designed. All keybindings are stored in a hash table indexed by the "name". This "name" happens to be the key in the schema. And since schemas are not dynamic, one has to have this horrible hack of having 20 "binding-N" entries in it. I agree the whole thing is a nasty hack to work around a bug in gnome-shell/mutter/gnome/etc, but sadly, that's the start of it for the next 6 months at the very minimum.
Is there anything else that needs modifying?