You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: update README with Quick Launch, tab templates, Docker/SSH docs
- Document Quick Launch overlay and keyboard shortcut
- Add Tab Templates section with config format and all options
- Add Docker and SSH template sections with examples
- Add cterm-headless to architecture diagram
- Update roadmap with shipped features
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@@ -14,7 +14,8 @@ A high-performance, customizable terminal emulator built in pure Rust. Features
14
14
### User Interface
15
15
-**Tabs**: Multiple terminal tabs with keyboard shortcuts
16
16
-**Tab Customization**: Custom colors and names for tabs
17
-
-**Sticky Tabs**: Persistent tab configurations for frequently-used commands (great for Claude sessions)
17
+
-**Tab Templates**: Persistent tab configurations for frequently-used commands (great for Claude sessions)
18
+
-**Quick Launch**: VS Code-style fuzzy search overlay to instantly open or switch to tabs (Cmd+G / Ctrl+Shift+G)
18
19
-**Themes**: Built-in themes (Tokyo Night, Dracula, Nord, and more) plus custom TOML themes
19
20
-**Keyboard Shortcuts**: Fully configurable shortcuts for all actions
20
21
-**Zoom**: Adjustable font size with Ctrl+/Ctrl-
@@ -110,10 +111,10 @@ See [docs/configuration.md](docs/configuration.md) for detailed configuration op
110
111
|--------|-------|---------------|
111
112
| New Tab | Cmd+T | Ctrl+Shift+T |
112
113
| Close Tab | Cmd+W | Ctrl+Shift+W |
113
-
| Close Other Tabs | — | — |
114
114
| Next Tab | Cmd+Shift+]| Ctrl+Tab |
115
115
| Previous Tab | Cmd+Shift+[| Ctrl+Shift+Tab |
116
116
| Switch to Tab 1-9 | Cmd+1-9 | Ctrl+1-9 |
117
+
| Quick Launch | Cmd+G | Ctrl+Shift+G |
117
118
| Copy | Cmd+C | Ctrl+Shift+C |
118
119
| Copy as HTML | Cmd+Shift+C | — |
119
120
| Paste | Cmd+V | Ctrl+Shift+V |
@@ -124,6 +125,125 @@ See [docs/configuration.md](docs/configuration.md) for detailed configuration op
124
125
125
126
**Scrollback:** Use mouse wheel or trackpad to scroll through terminal history.
126
127
128
+
## Quick Launch
129
+
130
+
Press **Cmd+G** (macOS) or **Ctrl+Shift+G** (Linux/Windows) to open the Quick Launch overlay. It provides a fuzzy search over your tab templates, letting you instantly open a new tab or switch to an existing one.
131
+
132
+
- Type to filter templates by name
133
+
- Use **Arrow keys** or **Tab**/**Shift+Tab** to navigate results
134
+
- Press **Enter** to launch, **Escape** to dismiss
135
+
136
+
## Tab Templates
137
+
138
+
Tab templates are defined in `sticky_tabs.toml` in your [configuration directory](#configuration). Each template pre-configures a tab with a command, working directory, color, and other settings.
139
+
140
+
```toml
141
+
[[tabs]]
142
+
name = "Claude"
143
+
command = "claude"
144
+
color = "#7c3aed"
145
+
unique = true
146
+
keep_open = true
147
+
148
+
[[tabs]]
149
+
name = "Project"
150
+
working_directory = "~/projects/myapp"
151
+
color = "#22c55e"
152
+
153
+
[[tabs]]
154
+
name = "Dev Server"
155
+
command = "npm"
156
+
args = ["run", "dev"]
157
+
working_directory = "~/projects/myapp"
158
+
keep_open = true
159
+
```
160
+
161
+
### Template options
162
+
163
+
| Field | Description |
164
+
|-------|-------------|
165
+
|`name`| Display name shown in Quick Launch and as the tab title |
166
+
|`command`| Command to run (omit for default shell) |
167
+
|`args`| Command arguments (array) |
168
+
|`working_directory`| Initial working directory |
169
+
|`color`| Tab color in hex (`#RRGGBB`) |
170
+
|`theme`| Theme override for this tab |
171
+
|`background_color`| Lock the background color (overrides theme, hex `#RRGGBB`) |
172
+
|`keep_open`| Keep the tab open after the process exits |
173
+
|`unique`| Singleton mode — only one instance of this tab can exist at a time |
174
+
|`auto_start`| Automatically open this tab when cterm starts |
175
+
|`env`| Extra environment variables (table) |
176
+
|`docker`| Docker container config (see below) |
177
+
|`ssh`| SSH remote config (see below) |
178
+
179
+
### Singleton tabs (`unique = true`)
180
+
181
+
When a template has `unique = true`, launching it via Quick Launch will **switch to the existing tab** if one is already open, instead of creating a duplicate. This is ideal for tools that should only run once, like AI assistants or long-running servers.
182
+
183
+
Combined with Quick Launch, this creates a "go to or open" workflow: press **Cmd+G**, type a few characters, hit **Enter**, and you're either switched to your running session or a new one is started — no need to hunt through tabs.
184
+
185
+
### Docker templates
186
+
187
+
Templates can launch shells inside Docker containers. Set the `docker` field with a mode (`exec`, `run`, or `devcontainer`):
188
+
189
+
```toml
190
+
[[tabs]]
191
+
name = "Dev Container"
192
+
color = "#0db7ed"
193
+
unique = true
194
+
[tabs.docker]
195
+
mode = "devcontainer"
196
+
image = "ubuntu:24.04"
197
+
project_dir = "~/projects/myapp"
198
+
shell = "/bin/bash"
199
+
mount_ssh = true
200
+
```
201
+
202
+
| Field | Description |
203
+
|-------|-------------|
204
+
|`mode`|`exec` (attach to running container), `run` (start new), or `devcontainer`|
205
+
|`container`| Container name/ID (exec mode) |
206
+
|`image`| Image name with tag (run/devcontainer mode) |
207
+
|`shell`| Shell to use inside the container |
208
+
|`project_dir`| Project directory to mount (devcontainer mode) |
0 commit comments