project-repo / cagebreak

Cagebreak: A Wayland Tiling Compositor Inspired by Ratpoison
MIT License
273 stars 20 forks source link

Feature request: undo/redo #42

Open ahttraga opened 1 year ago

ahttraga commented 1 year ago

Is it possible to implement undo/redo, as in ratpoison:

@deffn Command undo Undo the last change of frame layout. This is especially helpful after a @command{only} command. One can step at most @dfn{maxundos} steps back in frame layout history. @end deffn

@deffn Command redo redo the last change that was undone. @end deffn

(from ratpoison-1.4.9/doc/ratpoison.texi)

project-repo commented 1 year ago

Hi ahttraga

This is an interesting request. We will investigate further.

Our tentative answer is that we won't implement this because it would dramatically expand the state Cagebreak has to keep track of and would drastically bloat the dump output etc.

This does not mean that it would be impossible to implement but we will take the added complexity into consideration when deciding on the implementation.

Depending on how much you're willing to work for this feature you could of course always try to write a script which continuously listens on the Cagebreak socket and keeps track of any state changes but I think that might be a bit over the top...

cheers project-repo

VehementHam commented 4 months ago

StumpWM has this feature. Not sure how they do it.