tuios v0.10.0 changes the theme on Omarchy, the TERM of new sessions and some terminal mode keys. This page lists each change and what to do.
The full release notes are at tuios.dev/releases/v0-10-0.
The daemon
The daemon protocol did not change, so a v0.9.3 daemon works with a v0.10.0 client, and the reverse. The new fields are optional in both directions. The sleep reconnect, the theme colours in panes, spaces, window moves and the memory fixes are in the daemon. To get them, restart the daemon:
tuios kill-server
This closes every pane in every session, so save your work first.
The theme on Omarchy
On a machine with Omarchy, an empty appearance.theme now means the Omarchy theme. Before, it meant the colours of your terminal. To keep the colours of your terminal, set:
[appearance]
theme = "none"
A machine without Omarchy does not change. A theme that you set does not change.
Theme colours in daemon panes
A program in a daemon pane now gets the theme's colours from OSC 10, 11 and 4. A program that picks a light or a dark look from the background can change its look after the update. With no theme set, nothing changes.
The TERM of new sessions
A session made by tuios call new-session, tuios switch-session --create, an attached tuios new, start-agent, new-worktree or fan now gets your TERM and COLORTERM. Before, it got xterm-256color. TUIOS gives a pane your TERM only when the machine that runs the pane has a terminfo entry for it. Otherwise the pane gets xterm-256color, as before. A program in the pane that runs ssh to a machine with no entry for your TERM can show wrong keys or colours there. Install the entry on that machine, for example with infocmp -x xterm-kitty | ssh HOST tic -x -. The SSH server, tuios-web and the GUI bridge do not send a TERM. Their sessions still get xterm-256color. See Which TERM a pane gets.
Terminal mode keys
Shift+PageUp and Shift+PageDown now scroll the pane's history, and the middle mouse button pastes from the clipboard. A program that uses the full screen or the mouse still gets them. To give the keys and the button back to every program, remove them from the bindings:
[keybindings.terminal_mode]
terminal_scroll_page_up = []
terminal_scroll_page_down = []
terminal_paste_host = ["ctrl+shift+v", "super+v", "shift+super+v"]
Option characters on macOS
This is a change in behaviour on a keyboard layout other than US. keybindings.option_glyphs now defaults to auto. On macOS, tuios reads the keyboard layout when it starts:
- On a US or ABC layout, nothing changes. Option+N switches the workspace.
- On any other layout, such as UK or AZERTY, a character that the keyboard composes, such as
£or©, goes to the pane as text. In Terminal.app and iTerm2 as they ship, Option+N then types its character. It does not switch the workspace.
keyboard_layout in [keybindings] overrides the layout that tuios reads. To get the Option bindings on any layout, set the Option key of the terminal to send Alt. In Terminal.app, tick "Use Option as Meta Key". In iTerm2, set the Option key to "Esc+". To keep the old behaviour, set option_glyphs = "bind".
New config keys
The defaults keep the old behaviour. The session lines are examples.
[appearance]
animation_speed = 100 # 25 to 400, 0 is 100
dim_foreground = true # false dims only the background
theme_transition = "none" # none, circle, fade
theme_transition_duration = 450 # milliseconds, 100 to 2000
[appearance.sidebar.left]
session = "side-left" # a daemon session to show in this rail
session_workspace = 0 # 0 is every workspace, or 1 to 9
[appearance.sidebar.right]
session = "side-right"
session_workspace = 0
[keybindings.lists]
list_up = ["up", "ctrl+p", "k"]
list_down = ["down", "ctrl+n", "j"]
list_page_up = ["pgup"]
list_page_down = ["pgdown"]
list_first = ["home", "g"]
list_last = ["end", "G"]
[keybindings.terminal_mode]
terminal_scroll_page_up = ["shift+pgup"]
terminal_scroll_page_down = ["shift+pgdown"]
[dock.tabs]
style = "pill" # pill, flat
[dock.session]
format = "{session} {workspace}:{pane}" # add "session" to a [dock] list to draw it
[dock.tabs] also takes separator, separator_fg, the active_ and inactive_ colours, number_glyphs, zoom_marker and show_add. The tmux-style actions have no default key.
appearance.theme also takes omarchy, omarchy/NAME, charmtone and charmtone-light. See Configuration and Omarchy.
For developers
tuios.dev/vtneeds Go 1.26.tuios.dev/swatchneeds Go 1.25. tuios itself still builds with the Go version ingo.mod.- The emulator moved from
internal/vttovt/, thetuios.dev/vtmodule. The snapshot of a terminal moved totuios.dev/vt/snapshot(#724).go.workholds the app,progstatus,vtandswatch. To build tuios asgo installdoes, useGOWORK=off. - The binary size budgets went up in commits of their own. See
docs/perf.md.
- Introduction
- Getting Started
- Learn tuios, hands on
- Keybindings
- Hints
- Finding a Pane
- Links
- TUIOS vs Others
Windows and Layout
Sessions and Machines
Agents
- Agents
- Inbox and Review
- Agent Messaging
- Program Status
- Worktrees
- Checkpoints
- Ship
- Push Notifications
- Turn Off Agent Features
Scripting
Recording
Reference