v0.6.0
TUIOS v0.6.0 Release
New Features
Kitty Graphics Protocol Support (Experimental)
TUIOS now supports the Kitty graphics protocol for inline image display. Applications running inside TUIOS can display images directly in the terminal when using a compatible host terminal.
Supported terminals: Kitty, WezTerm, Ghostty, iTerm2, Foot, Contour
Warning
Experimental: This feature is experimental and bugs are expected. Use TUIOS_KITTY_GRAPHICS=0 to disable if you encounter issues.
Terminal Mode Shortcuts
New keybindings that work directly in terminal mode without requiring the prefix key:
| Platform | Next Window | Previous Window | Exit Terminal Mode |
|---|---|---|---|
| macOS | Opt+Tab | Opt+Shift+Tab | Opt+Esc |
| Linux/Windows | Alt+N | Alt+P | Alt+Esc |
These shortcuts let you quickly cycle between windows or exit terminal mode without interrupting your workflow.
Native Cursor Shape Rendering
TUIOS now renders native cursor shapes (block, bar, underline) with blink support. This is particularly useful for vi-mode users in shells like zsh where the cursor changes based on editing mode:
- Normal mode → Block cursor
- Insert mode → Bar cursor
Improvements
- Performance: Skip animation calculations when no animations are active
- Compatibility: Improved arrow key handling in ncurses applications (cmus, htop, etc.)
- Platform: Split Unix capability detection into separate Darwin and Linux implementations
Bug Fixes
- Fixed paste not working in daemon mode (#71)
- Fixed cursor shape rendering using real terminal cursor for native vi-mode support (#70)
- Fixed safe color comparison during rapid scrollback to prevent crashes
- Fixed various Kitty graphics issues:
- Image clipping and passthrough mode
- Scroll position and placeholder spacing
- Multi-window support and drag handling
- Altscreen handling and cleanup
- Virtual placement handling
Configuration
New [keybindings.terminal_mode] section for customizing terminal mode shortcuts:
[keybindings.terminal_mode]
terminal_next_window = ["alt+n"] # or ["opt+tab"] on macOS
terminal_prev_window = ["alt+p"] # or ["opt+shift+tab"] on macOS
terminal_exit_mode = ["alt+esc"] # or ["opt+esc"] on macOS Environment Variables
New environment variables for graphics control:
TUIOS_KITTY_GRAPHICS=1/0 # Force enable/disable Kitty graphics
TUIOS_SIXEL_GRAPHICS=1/0 # Force enable/disable Sixel graphics
TUIOS_DEBUG_CAPS=1 # Log capability detection to /tmp/tuios_caps.log Known Issues
- Sixel graphics support is implemented but currently disabled pending proper raster clipping for windowed environments
- Kitty graphics horizontal clipping not yet implemented (images wider than viewport are hidden)
Installation
TUIOS (Terminal Window Manager)
Quick Install (Linux/macOS):
curl -sSL https://raw.githubusercontent.com/Gaurav-Gosain/tuios/main/install.sh | bashHomebrew (macOS/Linux):
brew tap Gaurav-Gosain/tap
brew install tuiosArch Linux (AUR):
# Using yay
yay -S tuios-bin
# Using paru
paru -S tuios-binNix:
# Run directly
nix run github:Gaurav-Gosain/tuios#tuios
# Or add to your configuration
nix-shell -p tuiosGo Install:
go install github.com/Gaurav-Gosain/tuios/cmd/tuios@v0.6.0tuios-web (Web Terminal Server)
Homebrew (macOS/Linux):
brew tap Gaurav-Gosain/tap
brew install tuios-webArch Linux (AUR):
# Using yay
yay -S tuios-web-bin
# Using paru
paru -S tuios-web-binGo Install:
go install github.com/Gaurav-Gosain/tuios/cmd/tuios-web@v0.6.0Manual Download:
Download the appropriate tuios_* or tuios-web_* archive for your platform below, extract it, and run.
Changelog
New Features
- 2b7f62b: feat: add Kitty graphics protocol support for image display (@Gaurav-Gosain)
- f7af251: feat: add opt+esc as terminal mode exit shortcut (@kylesnowschwartz)
- 36bed1b: feat: add opt+tab window cycling in terminal mode (@kylesnowschwartz)
- a6a1928: feat: add programmatic graphics capability detection (@Gaurav-Gosain)
- e8348fe: feat: change terminal window cycling keybinds to alt+n/alt+p (@Gaurav-Gosain)
Bug Fixes
- 5eb6dca: fix: add FreeBSD and OpenBSD platform support (@Gaurav-Gosain)
- 97d2bee: fix: add terminal mode window cycling to Windows help category (@kylesnowschwartz)
- e26e82a: fix: arrow keys not working in cmus and other ncurses apps (@Gaurav-Gosain)
- a3aa865: fix: improve kitty graphics multi-window support and drag handling (@Gaurav-Gosain)
- faf8199: fix: kitty graphics altscreen handling and code modernization (@Gaurav-Gosain)
- 4438608: fix: kitty graphics virtual placement and cleanup issues (@Gaurav-Gosain)
- 1cb2984: fix: kitty image clipping and passthrough mode improvements (@Gaurav-Gosain)
- 4353588: fix: kitty image scroll position and placeholder space (@Gaurav-Gosain)
- 5123a0b: fix: paste not working in daemon mode (@kylesnowschwartz)
- af084eb: fix: split capabilities_unix.go into darwin and linux variants (@kylesnowschwartz)
- b0f714d: fix: use real terminal cursor for native vi-mode cursor shapes (@kylesnowschwartz)
Performance Improvements
- 0a6d246: perf: skip animation check when no animations are active (@Gaurav-Gosain)
Other Changes
- 6fa2380: Add extra guards in safeColorsEquals to account for rapid scrollback such as use in Claude Code (@jacob-sabella)
Full Changelog: v0.5.1...v0.6.0