Running 3.8 on Mint 20.2 Uma with Cinnamon desktop. I have upgraded from ver 3.61 and have a problem with recreating my shortcuts. I can create shortcuts with no problem and they work perfectly in the current session. As soon as I restart dt the shortcuts no longer exist.
I have spent quite a lot of time trying to diagnose the issue and it seems like the newly defined shortcuts are not being written to $HOME/.config/shortcutsrc, even though the timestamp on the file is changing. I have checked permissions on the file and I have read/write access.
There are additional files in the config directory called shortcutsrc.backup, shortcutsrc.defaults and shortcutsrc.edit. I am not sure how these files are used, but presumably shortcutsrc.defaults is used for restoring defaults and shortcutsrc.edit are edits for the current session.
I can work around the issue by exporting the shortcuts from a session to a file and importing from that file after a restart, but clearly something is amiss. I’m not sure if this is a local configuration issue affecting me only or a bug in 3.8.
Some further info. I just did a diff between my shortcutsrc file in the config directory and the one that I saved after adding shortcuts into the session and that confirms that the new shortcuts are not being written to $HOME/.config/darktable/shortcutsrc config file, or the file is being overwritten at dt startup.
The keyboard shortcut system has been entirely reworked and extended to allow you
to control darktable with other devices, for example, MIDI devices
and game controllers. Standard keyboard/mouse shortcuts can now make use
of mouse movements (horizontal, vertical, diagonal) as well as multiple
button/key presses and short or long presses/clicks.
Please note that any shortcuts you have previously created are not transferred
to the new functionality and will need to be redefined in darktable 3.8.
Yes, aware of that. My problem is that my newly defined shortcuts only remain for the current session. Restarting darktable takes me back to the defaults only.
What if you direct DT to use a different config directory using --configdir parameter when you run DT…then try to add some and rerun from there?? Do they still go missing when using the alternate config location??
Ok, further testing has shown that the problem seems limited to shortcuts that refer to a preset. If I define a shortcut to a built in action (eg. preferences) it is retained between sessions. Defining shortcuts to three existing presets results in these errors when starting dt.
[dt_action_locate] action ‘preset’ doesn’t exist
[dt_shortcuts_load] action path ‘lib/collect/preset/Flickr all’ not found
[dt_action_locate] action ‘preset’ doesn’t exist
[dt_shortcuts_load] action path ‘lib/collect/preset/Unprocessed’ not found
[dt_action_locate] action ‘preset’ doesn’t exist
[dt_shortcuts_load] action path ‘lib/collect/preset/WIP’ not found
Have something similar, but not at restart. I added Shift+5 and Shift+6 as shortcuts for some styles. They work for some weeks but suddenly reset. Other shortcuts still work.
Ubuntu 20.04 and darktable installed from Opensuse.