Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Gaurav-Gosain/tuios/llms.txt
Use this file to discover all available pages before exploring further.
Overview
TUIOS provides 9 independent workspaces for organizing your terminal windows. Think of workspaces as virtual desktops - each one can contain multiple windows with their own layout, and you can quickly switch between them. Workspaces are perfect for:- Separating different projects or contexts
- Organizing development, monitoring, and operations tasks
- Creating dedicated environments for specific workflows
- Reducing clutter by grouping related windows together
Switching Workspaces
Quick Switch
The fastest way to switch workspaces is using keyboard shortcuts:On macOS, the
Option key (⌥) is used instead of Alt. The default configuration automatically handles this platform difference.Prefix-Based Switching
Alternatively, use the prefix key followed by workspace menu:CLI Remote Control
Switch workspaces from the command line using remote control:Moving Windows Between Workspaces
Move and Follow
The most common operation is to move the focused window to another workspace and switch to that workspace:Move Without Following
To move a window to another workspace without switching to it, use the prefix menu:CLI Window Movement
Workspace State
Persistence
Each workspace independently maintains:- Window positions and sizes - Layouts are preserved per workspace
- Tiling configuration - Each workspace can have tiling on or off
- Custom layouts - Manual split configurations persist
- Focus history - When you return to a workspace, the previously focused window is restored
- Master ratio settings - Resize adjustments are workspace-specific
Session Persistence
When using daemon mode (tuios new / tuios attach), all workspace state persists across detach/reattach:
Workspace Indicators
The dockbar (status bar) shows workspace information:- Current workspace number - Displayed prominently (e.g.,
WS 1) - Window count per workspace - Visual indicators show which workspaces have windows
- Active workspace highlight - The current workspace is highlighted
Empty workspaces are dimmed in the indicator. This makes it easy to see at a glance which workspaces are in use.
Practical Workflows
Development Environment Setup
Quick Context Switch
Project Organization
Organize multiple projects across workspaces:- Workspace 1-3: Project A (frontend, backend, database)
- Workspace 4-6: Project B (microservices)
- Workspace 7: System monitoring
- Workspace 8: Email/chat clients
- Workspace 9: Scratch/temporary work
Multi-Client Setup
When using SSH or web terminals, each client can be on different workspaces in the same session:Implementation Details
Source Code Reference
Workspace functionality is implemented ininternal/app/workspace.go with key functions:
SwitchToWorkspace(workspace int)- Handles workspace switching with animation cleanup and layout restorationMoveWindowToWorkspace(windowIndex, workspace int)- Moves window without followingMoveWindowToWorkspaceAndFollow(windowIndex, workspace int)- Moves and switchesGetWorkspaceWindowCount(workspace int)- Counts windows in a workspace
Memory Efficiency
Workspaces are lightweight:- No duplication of window data
- Windows store their workspace number
- State maps are used for per-workspace configuration
- Only visible windows (current workspace) are rendered
Multi-Client Coordination
In daemon mode with multiple clients:- Each client can be on a different workspace
- PTY subscriptions are workspace-aware (only visible windows stream output)
- Workspace switches are local to each client
- State synchronization keeps all clients consistent
Configuration
Workspace keybindings are configurable in~/.config/tuios/config.toml:
opt+ (Option key) instead of alt+.
Customizing Workspace Count
Currently, TUIOS supports exactly 9 workspaces. This is a design choice balancing:- Single-digit keyboard shortcuts (1-9)
- Sufficient organization capability
- Memory and performance efficiency
Troubleshooting
Windows Disappear After Workspace Switch
Cause: You moved a window to another workspace unintentionally. Solution: Check all workspaces by cycling through withAlt+1 through Alt+9. The window is still there.
Tiling Broken After Workspace Switch
Cause: Each workspace has independent tiling state. Solution:Focus Lost When Switching to Empty Workspace
Expected behavior: When switching to a workspace with no windows, you’re automatically put into Window Management Mode. Pressn to create a new window.
Workspace State Not Persisting
Cause: Running in local mode instead of daemon mode. Solution: Use persistent sessions:Related Documentation
- Tiling - Each workspace can have independent tiling configuration
- Sessions - Workspace state persists in daemon mode
- Keybindings - Customize workspace shortcuts
- CLI Reference - Remote control commands for workspace management