Add an undo system for lighttable and darkroom
I tried Darktable today, and I like it. Finally a decent photo manager for Linux. Instinctively, I tried to use CTRL+Z to undo an action I didn't like in the edit mode (Darkroom). Having keyboard shortcuts for undoing or redoing tasks would be very useful.
#1 Updated by Jose Carlos Garcia Sogo over 6 years ago
The problem here is defining what an action is, as in darktable each change in a slider could be considered as such. The thing is that we don't have dialogs and an 'Apply' button We could reset enabled plugin by pressing ctrl-z, but that could be a problem for people wanting to undo only part of what they changed in the plugin.
#2 Updated by autark - over 6 years ago
While I agree that it's not desirable to have a too fine-grained undo/redo history, not having undo and redo at all feels very limiting; it is definitely a turn-off for me, especially given darktable's somewhat surprising user interface conventions that lend themselves to all kinds of mistakes for a newcomer. And surely you can find a way to coalesce repeated similar actions into a single one if that turns out to be necessary.
#6 Updated by Tobias Ellinghaus over 5 years ago
- Subject changed from Add keyboard shortcuts for undoing and redoing actions in Darkroom to Add an undo system for lighttable and darkroom
- % Done changed from 0 to 20
- Target version set to Future
- Status changed from New to Triaged
- Category set to General
The undo system should be a bit more fine grained than the history stack.
#7 Updated by Antoine Beaupré about 5 years ago
I got stung by this recently, when trying to render a previous version of an image in the history stack. What I did:
- select a previous version in the history
- head to the light table
- export the file
What I expected: the history should stay the same
What actually happend: the remaining history was trashed.
That was freaking painful. I can also recount horror stories of playing with the stack directly in my first attempts ("what does compress do?" - "aw crap, it destroys history, wasn't this supposed to be a non-destructive editor?")... Maybe full undo isn't required and we need something like #9019 or #8769. See particularly: #8620.
#8 Updated by Ralf Brown over 3 years ago
The history stack is useful, but as others have pointed out it is not a replacement for a good undo system, especially given how easy it is to trash the history stack. And the current history stack is not fine-grained enough to be viable as a workaround for missing undo even if it were more resilient, since I can't undo just a single slider change (for example) if I've changed multiple settings in a module without switching modules.
Aftershot Pro has both, and its history stack is also somewhat more fine-grained than DT's (multiple consecutive entries can be from changes to a single tool).
#12 Updated by Valentino Dell'Aica over 3 years ago
As a beginner to darktable, the undo feature come very handy: try a setting: wrong ? undo last state.
When I try to edit some mask usually an undo action can be the sequence press mouse button, move, release it. When moving a slider, the some or when scroll is used, until I leave field or stop for a fixed amount of time.
I know this could become very cumbersome to implement, but form me this is an essential feature.