-
Notifications
You must be signed in to change notification settings - Fork 245
"Accelerating" undo #335
Comments
It's worth noting that we don't technically undo character by character. Rather we undo the last "transaction" (managed by Scribe's transaction manager), which could be more e.g. if you select and then erase a paragraph then that would be one transaction. I wonder how other text editors solve this. It's clearly useful but it might make Scribe more complex. |
@OliverJAsh tried to understand how OS/browsers do it but there was no obvious pattern. One way would be to debounce the history recording. There may or may not be subtle implications, given that some of the hack applied to normalise content editable across browsers sometimes have to fiddle with the history stack IIRC. But featurewise, it would be nice to be closer to native undo, whatever the hell that actually is. |
Suggest someone looks at the behaviour of InCopy as that seems the logical thing to copy. |
Those who fail to learn from history are doomed to repeat it On 11 February 2015 at 22:46, Sébastien Cevey notifications@github.com
PGP Public Key http://bit.ly/Rxbzi0 Visit theguardian.com. On your mobile and tablet, download the Guardian This e-mail and all attachments are confidential and may also be Guardian News & Media Limited is a member of Guardian Media Group plc. Registered |
So the initial situation discussed with Jon Hayes is that after two letter by letter undoes it would switch to word by word undo (so go through the transaction history until we see a non-letter character). This would be a bit challenging but has quite a tight focus. |
This was bumped again today. I think prototyping something might be a good idea @na7hangood, I feel we're going to hear this over and over again |
Can we also look at #334 when we do this? |
Possible ways to define a new transaction:
Previously, 1 was the default behavior. With the new undo manager, 2 is now the default. 3, 4, and 5 are possible with extra checking, but can be annoying to some users. 6 is the easiest, and can be implemented with a small change. 7, is also easy to implement, but there is a need to do minor changes on all the commands (passing a flag to force a new transaction with each command). 8 is not so trivial, especially taking into account the inconsistency with the Selection API across the browsers, but it can be made. Also with low interval, 8 becomes useless, since changing cursor location will pass that interval. |
Rather than undoing character by character users would like to switch from character to word-based undo if they are repeatedly hitting the undo key combo.
The text was updated successfully, but these errors were encountered: