# Introduction

URL: https://tuios.dev/docs

> TUIOS is a terminal multiplexer and window manager with workspaces, tiling, persistent sessions and a vim-style modal interface.

TUIOS (Terminal UI Operating System) runs many shells inside one terminal. Each shell gets its own window. You arrange windows with tiling or by hand, group them into nine workspaces, and detach and come back later without losing anything.

*[An interactive figure goes here. Open the page to use it.](https://tuios.dev/docs)*

## Install

> > ```bash
> > brew install tuios
> > ```
>
> > ```bash
> > yay -S tuios-bin
> > ```
>
> > ```bash
> > curl -fsSL https://raw.githubusercontent.com/Gaurav-Gosain/tuios/main/install.sh | bash
> > ```
>
> > ```bash
> > go install github.com/Gaurav-Gosain/tuios/cmd/tuios@latest
> > ```

Nix, Docker, release binaries and building from source are covered in [Getting Started](https://tuios.dev/docs/getting-started#install).

## Run it

```bash
tuios
```

Press n to open a window, i to type in it, and Alt+Esc to get back to window management. Ctrl+P opens the command palette, which lists every command. [Getting Started](https://tuios.dev/docs/getting-started) walks through the rest.

> `tuios` starts a background daemon and attaches to a session in it. Close the terminal and the session keeps running. Run `tuios` again to get it back.

## What you get

**Windows and layout**

- Two modes, modelled on vim: window management mode for arranging windows, terminal mode for typing into one.
- BSP tiling by default, with explicit splits, preselection, swapping and resizing. Master-stack and a niri-style scrolling layout are one palette command away.
- Nine workspaces, zoom, minimize, layout templates and optional shared borders.
- A command palette (Ctrl+P) and an app launcher (Alt+Space).

**Sessions**

- A daemon owns the shells, so detaching costs nothing and several terminals can attach to one session at once.
- Window layout and working directories come back after a daemon restart or a reboot. Running programs and scrollback do not. See [Sessions](https://tuios.dev/docs/sessions).
- Sessions and single panes can live on other machines, reached over ssh.

**Scripting**

- A JSON [control protocol](https://tuios.dev/docs/control-protocol) on the daemon socket, with blocking waits and an event stream.
- CLI commands for the same things: `send-text`, `capture-pane`, `wait-for`, `new-window` and more.
- [Tape scripts](https://tuios.dev/docs/tape-scripting) to record and replay workflows, and [hooks](https://tuios.dev/docs/hooks) that run shell commands on window, session and agent events.
- Panes that run coding agents report whether the agent is working, idle or waiting for you.

**Terminal**

- Vim-style copy mode over 10,000 lines of scrollback per window, plus mouse wheel scrolling and selection.
- Kitty graphics (including `mpv --vo=kitty` video), sixel passthrough, the kitty keyboard protocol and synchronized output.
- 342 built-in themes with a live picker, and an in-app settings page.

**Remote access**

- `tuios ssh` serves TUIOS over SSH with public key authentication.
- `tuios-web`, a separate binary, serves it to a browser. See [Web Terminal](https://tuios.dev/docs/web).

## Where to go next

*[An interactive figure goes here. Open the page to use it.](https://tuios.dev/docs)*

## Community

- Source, issues and discussions: [Gaurav-Gosain/tuios](https://github.com/Gaurav-Gosain/tuios) on GitHub.
- License: MIT.
