All releases

2 min read

v0.2.0

340 color themes that restyle the UI and the terminal palette together, a new PTY layer, and windows that can no longer leave the screen.

GGGaurav Gosain

Eight commits. Two are large: tuios got themes, and a new PTY layer under every window. This is also the release where tuios restores your terminal properly when it exits.

Themes

tuios ships over 340 colour themes from bubbletint. Pick one with --theme (the default is tokyonight).

  • A theme recolours the programs in your windows too, not only the chrome. A custom SGR handler maps the 16 ANSI colours to the theme's palette, so ls, vim and htop follow it.
  • 256-colour and RGB sequences pass through unchanged, so a program that asks for an exact colour still gets it.
  • Borders show state: an unfocused window uses the theme's red, a focused window in window mode is bright cyan, and in terminal mode it is bright green.
  • --list-themes prints every theme, and --preview-theme shows a theme's 16 ANSI colours with their hex values.

A new PTY layer

Every window runs on a pseudo-terminal, and this release swaps the library that provides it: go-pty out, charmbracelet's xpty in, for a cleaner API and better Windows ConPTY support.

The switch first broke shell startup. Processes no longer got the PTY as their controlling terminal, which shells such as fish need, so windows opened and died at once with exit status 1. The fix, in the same release, sets up the process session and controlling terminal explicitly, as the old library did implicitly.

Changed and fixed

  • Windows can no longer be dragged or resized off screen. They stay inside the viewport and out of the dock, which also fixes drawing artifacts at the edges.
  • tuios exits cleanly. It handles SIGINT and SIGTERM, and on the way out it turns off mouse tracking, restores the cursor, and leaves the alternate screen, so your shell prompt is intact.
  • The README gave two background refresh rates. It now says 30Hz, not 20Hz. Caught by ShalokShalom.
  • The Nix packaging workflow now runs on tag pushes, not only on release events, so it runs for every version.

v0.2.0 was tagged on 2 November 2025. Two patch releases followed within days. Their changes are on the v0.3.0 page.