Undo/Redo in LabMaestro
From Version 1.11 onwards, it is now possible to undo/redo certain operations made within the LabMaestro application. This was added to help smooth the workflow within the application.
Accessing the Undo/Redo functions
You can use the new undo/redo functions in two ways:
Using keyboard hotkeys, undo is called by pressing Ctrl-Z, while redo is called by pressing Ctrl+Shift+Z.
The “Edit” tab of the LabMaestro application.

The “Edit” menu.
The Undo/Redo Stack
Performing specific actions within the application (e.g., adding a region to an epoch) will add elements to the undo stack. The undo stack contains a list of operations that can be canceled using the undo hotkey. Whenever you call the undo function, the most recent action in the undo stack is rolled back.
By default, the undo stack has a maximum capacity of 10 elements. You can adjust this property by changing the “Undo Limit” value in Edit/Preferences/General Settings.
Whenever an action is undone, this action is added to the redo stack. The redo stack contains a list of actions that were recently undone. If you ever undo an action by mistake, you can simply call redo to restore it.
The redo stack is cleared whenever a new edit other than undo/redo is made within the application. This ensures you will not encounter conflicts (such as trying to restore a property of a deleted region). As such, to avoid losing progress, call redo as soon as you notice an action has been unintentionally undone.
Undo/Redo Compatibility
As of Version 1.11.0, not all actions can be undone. Below is a quick list of what is and isn’t compatible with these functions; a more detailed overview is available further below.
Can use Undo/Redo:
Insertion, deletion, and moving components
Editions in Properties
Property Editor
Color Picker
Gizmo actions
Condition List
Feature Set
Cannot use Undo/Redo
Modal Windows
Collection Editors
Compatible Operations
Insertion, deletion, and moving components. This includes copying and pasting components, as well as dragging and copying a component from another instance of LabMaestro.
Editions in Properties. Most common properties are compatible with undo and redo. However, more complex cases (RESPONSEPixx inputs, keys defined in Keyboard Input commands) may not always be, as some actions can cause elements in the undo stack to become invalid. Expressions are compatible, but are only saved at the initial/final steps of an edit.
Property Editor. Although most modal windows are incompatible with undo/redo, the property editor is not.
Color Picker. While the color picker window itself disables the undo/redo hotkeys (it is a modal window), once the window is closed, the operations performed within the color picker can be undone. It is thus possible to undo the final choice from the picker to the one before it was opened.
Gizmo actions. From version 1.11, it is now possible to directly adjust region properties from the timeline preview. See this page for more details.
Condition List. You can undo/redo new columns, variables, and values within a method component. You can also undo/redo the generation of a crossed design.
Feature Set. The edition of device features is undoable, both in project devices and detected devices. It is also possible to undo the use of Apply All.
Non-Compatible Operations
Modal Windows. Most modal windows do not work with undoing. The hotkeys are disabled when these windows are up. Some actions made in these windows will be undoable once the windows are closed. It is the case for the choice of input in the Wait for Input commands.
Collection Editors. While undoing the edition of elements in collection editors often is supported once the modal window is closed (for example, the type of inputs in Wait for Input commands), adding, removing, or reordering rows is not.