.tape files that can be replayed, shared, or used for automated testing. Think of it as recording a macro of everything you do in TUIOS.
Overview
Tape recording captures your interactions with TUIOS in real-time, generating a tape script that can be played back later. This is useful for:- Creating reproducible workflows
- Documenting complex terminal procedures
- Building automated test suites
- Generating tutorial materials
- Sharing terminal workflows with team members
Quick Start
Start recording within TUIOS using the tape prefix menu:Throughout this guide,
Ctrl+B refers to the default leader key. This is configurable via the leader_key option in your config file.~/.local/share/tuios/tapes/.
Playback your recording:
Recording Commands
All recording commands use the tape prefix menu accessed withCtrl+B T:
| Key Sequence | Action |
|---|---|
Ctrl+B T r | Start recording (prompts for name) |
Ctrl+B T s | Stop recording and save |
Ctrl+B T Esc | Cancel (exit tape prefix menu) |
What Gets Recorded
Captured Actions ✓
- Window Management: New window, close window, rename window, minimize/restore
- Navigation: Next/previous window, select window by number
- Workspaces: Switch workspace, move window to workspace
- Layout: Toggle tiling, snap operations, split operations
- Mode Switches: Enter terminal mode, enter window management mode
- Keyboard Input: Text typed in terminals, special keys (Enter, Tab, etc.)
- Timing: Automatic sleep insertion between actions
Not Captured ✗
- Mouse Events: Clicks, drags, and resizes are not recorded
- Terminal Output: Only input is recorded, not the programs’ output
- Visual State: Window positions/sizes in non-tiling mode
- Copy Mode Actions: Scrollback navigation and text selection
Recording Workflow
Starting a Recording
- Launch TUIOS normally
- Press
Ctrl+B T r - Enter a name when prompted (e.g., “dev-setup”)
- A notification confirms recording started
- The status bar shows “REC” indicator
During Recording
Perform your workflow normally. The recorder tracks:- Every window operation you perform
- All text you type in terminals
- Mode switches between window management and terminal mode
- Workspace navigation
Sleep commands.
Stopping a Recording
- Press
Ctrl+B T s - Recording stops immediately
- Tape file written to
~/.local/share/tuios/tapes/NAME.tape - Notification shows file path
Initial State Capture
When recording starts, TUIOS captures the current state:- Current mode (WindowManagementMode or TerminalMode)
- Active workspace number
- Tiling enabled/disabled
Managing Recordings
List All Recordings
Show Tape Directory
~/.local/share/tuios/tapes/).
View Tape Contents
.tape extension is optional.
Delete a Recording
Rename/Move Recordings
Tape files are just text files. Rename or move them with standard Unix commands:Best Practices
Recording Strategy
Keep recordings focusedRecord one task per tape rather than entire sessions. Shorter recordings are easier to replay and maintain. Add pauses for visual clarity
When recording demos, pause briefly between major actions to give viewers time to see what happened. Start in a clean state
Begin recordings with no windows open or in a known state (e.g., one window in workspace 1). Avoid mistakes
If you make a mistake while recording, stop the recording and start over. Editing tape files is possible but tedious.
Naming Conventions
Use descriptive names that indicate the recording’s purpose:Recording for Playback
Use tiling modeTiled layouts are reproducible across different terminal sizes. Manual window positioning is not recorded. Avoid time-sensitive operations
Don’t rely on specific command execution times. Use
WaitUntilRegex in manually edited tapes if you need to wait for output.
Test your recordingsAlways play back a recording once to verify it works as expected.
Recording for Documentation
Explain as you goAdd comments to the tape file after recording to document what each section does. Use meaningful window titles
Rename windows to descriptive titles (e.g., “Editor”, “Build Output”) during recording. Show the help overlay
Press
Ctrl+B ? during recording to show available keybindings.
Editing Recordings
Tape files are plain text. Edit them after recording to:- Add comments explaining steps
- Insert additional
Sleepcommands for pacing - Add
WaitUntilRegexfor output synchronization - Remove mistakes or unwanted actions
- Combine multiple recordings
Complete Examples
Example 1: Recording Development Environment Setup
~/.local/share/tuios/tapes/dev-env-setup.tape containing the workflow.
Example 2: Recording Multi-Workspace Workflow
Example 3: Recording for CI/CD
Record a test execution workflow:Technical Details
File Format
Recordings are saved as standard.tape files using the TUIOS tape scripting language. See Tape Scripting for the complete language reference.
Storage Location
Default:~/.local/share/tuios/tapes/
This follows the XDG Base Directory specification. The directory is created automatically on first recording.
Timing Capture
The recorder tracks time between actions and insertsSleep commands automatically:
- Minimum sleep: 50ms
- Action grouping: Multiple rapid keystrokes are grouped into single
Typecommands - Mode switches: Recorded immediately with precise timing
Typing Buffer Optimization
Rapid typing is automatically merged into singleType commands to keep recordings compact. A flush occurs when:
- 500ms passes with no typing
- Mode switches occur
- Window management actions occur
- Recording stops
Type "hello world" command rather than 11 separate key presses.
Metadata
Each recording stores metadata:Integration with Playback
Recordings are designed for seamless playback:Troubleshooting
Recording Not Starting
Check the tape directory exists:Only one recording can be active at a time. Stop any existing recording with
Ctrl+B T s before starting a new one.
Recording Playback Issues
Missing timing information:If a recording plays back too fast, add
Sleep commands manually.
Actions not working:Validate the tape file for syntax errors:
Recordings assume a clean starting state. Start TUIOS fresh before playback, or edit the tape to match your current state.
File Not Found Errors
Recordings are saved with the.tape extension automatically. When using tape commands, the extension is optional:
See Also
- Tape Scripting - Complete DSL reference for editing tapes
- CLI Reference - All tape-related CLI commands
- Keybindings - Recording keybindings reference