Sorry for the delay, I've been extremely busy in the last month, should be 
better now.

The idea of @codebrainz should be possible - 
`/Applications/Geany.app/Contents/MacOS/geany` is the wrapper script that sets 
up environment variables so the actual Geany binary 
(`/Applications/Geany.app/Contents/MacOS/geany-bin`) can find GTK libraries. 
You always run the script, even from command line - running the binary directly 
wouldn't work as the GTK libraries wouldn't be found. So it should be possible 
to add something to the launcher script and have it executed always.

That said I find this manual copying-over the config file a bit scary and 
fragile (one has to make sure the directory exists, that we don't overwrite 
existing file, etc.). Also this will only work for Geany's bundle - not Geany 
built independently and distributed e.g. using Homebrew.

I would rather prefer something like @b4n suggests, i.e. adding support into 
Geany for loading some global platform-specific keybinding file.

The way it works now is that these two functions are called:

```
keybindings_init();    //loads default keybindings from code
keybindings_load_keyfile();    //overrides the keybindings by the ones from the 
config file
```

When the custom keybinding file is saved, it saves all keybindings so the next 
time the above functions are run, it basically behaves as if only 
`keybindings_load_keyfile()` was called (unless theres a new version of Geany 
with new keybindings which will be added to the custom keybinding file).

What I would suggest (in principle) is to add one more function between these 
two:

```
keybindings_load_global_keyfile();    //overrides the keybindings by the ones 
from the GLOBAL config file
```

This would mean that keybindings would still be initialized by 
`keybindings_init()` and only the ones which need to be overridden would be 
placed into the global config file. Also custom keybindings would be preserved 
because after this function is called `keybindings_load_keyfile()` would be 
called which would override it with custom keybindings. I think it's better 
this way to avoid surprises that keybindings have changed. Users who would like 
to switch to the new Mac keybindings would have to delete their custom 
keybindings.conf first though.

Should be quite easy to implement.

What do you think?


-- 
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/1324#issuecomment-266413971

Reply via email to