TUIOSTUIOS

Getting Started

Install TUIOS and learn the basics

Getting Started with TUIOS

This guide will help you install TUIOS and learn the essential operations.

Requirements

  • A terminal with true color support (most modern terminals)
  • Go 1.25+ (if building from source)
  • For graphics support: Kitty, WezTerm, Ghostty, iTerm2, or other Kitty-protocol-compatible terminals (optional, experimental)

Installation

Package Managers

Homebrew (macOS/Linux)

brew tap Gaurav-Gosain/tap
brew install tuios

Arch Linux (AUR)

# Using yay
yay -S tuios-bin

# Using paru  
paru -S tuios-bin

Nix

nix run github:Gaurav-Gosain/tuios#tuios

The flake builds for x86_64-linux, aarch64-linux, and aarch64-darwin. Intel Macs are not covered by the flake, but the release binaries include darwin/amd64.

Quick Install Script

Linux/macOS:

curl -fsSL https://raw.githubusercontent.com/Gaurav-Gosain/tuios/main/install.sh | bash

This installs the tuios binary only. The browser terminal is a second binary, tuios-web, which you install separately. See Web Terminal.

Alternative Methods

GitHub Releases

Download pre-built binaries

Go Install

go install github.com/Gaurav-Gosain/tuios/cmd/tuios@latest

Docker

docker run -it --rm ghcr.io/gaurav-gosain/tuios:latest

Build from Source

git clone https://github.com/gaurav-gosain/tuios.git
cd tuios
go build -o tuios ./cmd/tuios
./tuios

First Launch

Simply run:

tuios

No windows yet?

You'll start in Window Management Mode with no windows. This is normal, and TUIOS shows a welcome splash pointing at the three keys worth knowing first: n to create a window, ? for help, and , for settings.

Understanding Modes

TUIOS has two primary modes:

1. Window Management Mode

The mode you start in. This is where you:

  • Navigate between windows
  • Create/close/rename windows
  • Switch workspaces
  • Tile windows
  • Use mouse to drag/resize

Visual Indicator: Windows have colored borders and you see the dockbar at bottom.

2. Terminal Mode

Where you interact with the terminal inside a window. Your keypresses go directly to the shell/application.

Visual Indicator: The active window is fully focused, keyboard input is captured.

Mode Switching

  • Press i or Enter to enter Terminal Mode
  • Press AltEsc (or OptEsc on macOS) for quick exit from Terminal Mode
  • Press Esc or CtrlB Esc to return to Window Management Mode. CtrlB d detaches the session instead of changing mode.

Essential Keybindings

Command Palette

The fastest way to discover what TUIOS can do is the Command Palette:

  • Press Ctrl+P from any mode to open it
  • Type to fuzzy-search commands, keybindings, and actions
  • Press Enter to execute

First thing to try

After launching TUIOS, press Ctrl+P to open the Command Palette. It is the quickest way to explore all available commands without memorizing keybindings.

Creating Your First Window

From Window Management Mode:

  • Press n to create a new window

Or from any mode:

  • Press CtrlB, then c

Window Navigation

In Window Management Mode:

  • Tab - Next window
  • ShiftTab - Previous window
  • Arrow keys - Move focus directionally
  • 1-9 - Select window by number

hjkl are not focus keys

In Window Management Mode, h snaps the focused window to the left half and l snaps it to the right half. j and k are unbound. Use the arrow keys to move focus. The vim motions you may be expecting are in copy mode, not window mode.

In Terminal Mode (without leaving the mode):

  • AltN / AltP - Next/Previous window (Linux/Windows)
  • OptTab / OptShiftTab - Next/Previous window (macOS)

Or click with your mouse!

Window Management

From any mode (using CtrlB prefix):

  • CtrlB c - Create new window
  • CtrlB x - Close focused window
  • CtrlB r - Rename focused window
  • CtrlB m m - Minimize focused window (CtrlB m opens the minimize menu)
  • CtrlB , - Open the settings page

Workspaces

TUIOS provides 9 workspaces (like virtual desktops):

  • Alt1-9 - Switch to workspace 1-9
  • AltShift1-9 - Move window to workspace and follow
  • CtrlB w then 1-9 - The same, through the workspace prefix menu

CtrlB followed by a digit selects a window by number, not a workspace.

Tiling

  • t - Toggle automatic tiling mode
  • CtrlB z - Zoom the focused pane to fullscreen
  • f - Fullscreen the focused window (window mode)
  • h / l - Snap window left / right at 50% width (window mode)

Layout Templates

Save and restore window arrangements for repeatable workflows:

  • CtrlB L - Load a saved layout template
  • Use tuios layout list to see saved layouts
  • Use tuios layout dir to find the templates directory
  • Use tuios layout export <name> to export a layout

Layout templates remember the number of windows, their positions, sizes, and workspace assignments so you can recreate a complex setup with a single command.

Copy Mode (Scrollback)

Access 10,000 lines of scrollback with vim-style navigation:

  • CtrlB [ - Enter copy mode
  • hjkl - Move cursor
  • / - Search forward
  • v - Start visual selection
  • y - Copy selection to clipboard
  • Esc - Exit copy mode

More keybindings

See the Keybindings page for the complete reference.

Help & Quit

  • CtrlB ? - Toggle help overlay
  • CtrlB q - Quit TUIOS

Example Workflow

Let's create a development setup:

Launch TUIOS

tuios

You start in Window Management Mode with no windows.

Create first window

Press n

A new window appears with your shell.

Enter terminal mode

Press i or Enter

Now you can type commands.

Run a command

ls
vim myfile.go

Work normally in the terminal.

Return to management mode

Press Esc

Back to Window Management Mode.

Create more windows

Press n twice more.

You now have 3 windows!

Enable tiling

Press t

Windows automatically arrange in a grid.

Switch workspaces

Press CtrlB 2

Move to empty workspace 2.

Create windows here too

Press n a few times.

Each workspace is independent!

  • Press Tab to cycle windows
  • Press CtrlB 1 to go back to workspace 1
  • Click windows with your mouse

Command Line Options

TUIOS supports many flags:

# Run with a specific theme
tuios --theme dracula

# List all available themes (300+)
tuios --list-themes

# Preview a theme's colors
tuios --preview-theme nord

# Enable debug mode
tuios --debug

# Use ASCII-only (no Nerd Font icons)
tuios --ascii-only

# Show pressed keys overlay (for demos)
tuios --show-keys

# Custom border style
tuios --border-style thick

# Custom dockbar position
tuios --dockbar-position top

Daemon Mode (Session Persistence)

Create persistent sessions that survive disconnection (like tmux):

# Create a new session
tuios new mysession

# ... work in TUIOS ...
# Detach with Ctrl+B d

# List sessions
tuios ls

# Reattach later
tuios attach mysession

Daemon mode works on Linux, macOS, and Windows (build 17063 or later, for Unix socket support). See the Sessions guide for details, including what does and does not survive a daemon restart.

SSH Server Mode

Run TUIOS as an SSH server for remote access:

# Start on default port (2222)
tuios ssh

# Custom port
tuios ssh --port 8022

# Listen on all interfaces
tuios ssh --host 0.0.0.0 --port 2222

Connect from another machine:

ssh -p 2222 user@hostname

Each SSH connection gets its own isolated TUIOS session!

Configuration

TUIOS stores its configuration in a TOML file:

# Edit configuration
tuios config edit

# Print config file path
tuios config path

# Reset to defaults
tuios config reset

# List all keybindings
tuios keybinds list

# List only custom keybindings
tuios keybinds list-custom

See the Configuration guide for details.

Shell Completions

Generate shell completions for your shell:

# Bash
tuios completion bash > /etc/bash_completion.d/tuios

# Zsh
tuios completion zsh > "${fpath[1]}/_tuios"

# Fish
tuios completion fish > ~/.config/fish/completions/tuios.fish

# PowerShell
tuios completion powershell > tuios.ps1

Next Steps

On this page