github Gaurav-Gosain/tuios v0.7.0

4 months ago

What's New in v0.7.0

Video Playback

You can now watch videos inside tuios. mpv --vo=kitty works with both shared memory and base64 modes. For the best experience, use --vo-kitty-use-shm=yes which sends just a file reference instead of streaming megabytes of pixel data through the terminal. youterm also works out of the box.

Kitty Keyboard Protocol

Full support for the kitty progressive enhancement keyboard protocol with push/pop/query. Fish 4.x enables this automatically on startup, and it just works. Capital letters and other shifted printable keys are sent as text directly rather than CSI u encoding, which is what shells actually expect.

Kitty Graphics Improvements

  • Static images (icat, yazi) render with proper vertical clipping when they extend past the viewport
  • Images hide cleanly when the window goes out of bounds on any edge
  • Fixed a bug where raw APC data was double-wrapped, which was silently breaking all direct base64 image transfers
  • Shared memory transfers now send the correct shm object name to the host terminal

Pane Zoom

Press z in window management mode or Ctrl+B z in terminal mode to fullscreen any pane. When using shared borders, the zoomed pane renders without individual borders and the separator lines are hidden. The dockbar shows a Z indicator when a pane is zoomed.

Layout Prefix

Ctrl+B L opens a layout submenu where l loads and s saves a layout template. Loading is non-destructive now: existing windows get repositioned to match the template instead of being killed. If you have more windows than the template needs, the extras get minimized.

Copy Mode Drag Auto-Scroll

When you drag a selection above or below the pane in copy mode, scrolling now continues smoothly even if you stop moving the mouse. This uses a timer that fires every 50ms while you hold the mouse outside the content area.

Protocol Support

  • OSC 4 palette color queries and sets
  • OSC 52 clipboard operations
  • Mode 2026 (synchronized output) and mode 2027 (unicode core)
  • DA1 response includes sixel capability
  • OSC 66 kitty text sizing (experimental, has known scrollback issues)

Quit Confirmation

New --confirm-quit flag and confirm_quit config option to always show the quit dialog, regardless of whether there are active foreground processes.

Bug Fixes

  • Fixed crashes from concurrent map access in HasMouseMode (uses atomic bools now)
  • Thread-safe KittyKeyboardFlags via atomic cache
  • Sixel passthrough improvements with better viewport clipping
  • Fixed prefix commands (Ctrl+B z, Ctrl+B L) not working in window management mode
  • Fixed Dockerfile Go version to match go.mod

Known Limitations

  • Kitty text sizing protocol (OSC 66) has basic passthrough but breaks with scrollback and window repositioning
  • Sixel passthrough works but lacks pixel-level clipping
  • Kitty animation protocol (a=f, a=a, a=c) is not supported yet
  • Video playback without shm can flicker depending on frame rate and terminal performance. Use --vo-kitty-use-shm=yes when possible.

Installation

TUIOS (Terminal Window Manager)

Quick Install (Linux/macOS):

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

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:

# Run directly
nix run github:Gaurav-Gosain/tuios#tuios

# Or add to your configuration
nix-shell -p tuios

Go Install:

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

tuios-web (Web Terminal Server)

Homebrew (macOS/Linux):

brew tap Gaurav-Gosain/tap
brew install tuios-web

Arch Linux (AUR):

# Using yay
yay -S tuios-web-bin

# Using paru
paru -S tuios-web-bin

Go Install:

go install github.com/Gaurav-Gosain/tuios/cmd/tuios-web@v0.7.0

Manual Download:
Download the appropriate tuios_* or tuios-web_* archive for your platform below, extract it, and run.

Changelog

New Features

Bug Fixes

Performance Improvements

Other Changes


Full Changelog: v0.6.0...v0.7.0

Don't miss a new tuios release

NewReleases is sending notifications on new releases.