termy
← all releases

Termy v0.1.90

Vertical tabs

  • New SVG collapse/expand glyphs for the sidebar toggle; button centered in the bottom shelf instead of right-pinned.
  • Compact vertical tabs now show a status dot: gray for pinned, green/red/amber/blue for in-progress/error/warning/indeterminate.
  • Wider gap between vertical tab rows (6px) and slightly stronger tab strokes for clearer separation.
  • Inactive tab text alpha lifted 0.55 0.62; branding text floored at 0.82 alpha so the Termy wordmark stays readable on dim themes.
  • Shelf chrome (left edge / right divider / horizontal seam) factored into a single shared frame so top and bottom shelves stay in lockstep.

Tab drag & titlebar

  • macOS: AppKit's automatic content-view window drag overridden with a custom NSView subclass so tab drags can no longer be hijacked into window moves mid-gesture.
  • Pending titlebar window-moves cancelled the moment a tab drag becomes active; previews update on global pointer move and commit on release.
  • Tab mouse-down handlers call window.prevent_default() to stop the OS initiating a window move from the same press.

Terminal pointer mapping

  • Pointer-to-cell math subtracts the effective vertical sidebar width, so column hit-testing is correct when the sidebar is expanded.

Search

  • Overlapping match ranges per line are sorted and merged; is_any_match now binary-searches large result sets hit-test in O(log n).
  • Skip cell-column precomputation entirely when a line has no matches.
  • SearchConfig is now Copy + PartialEq; full-config equality drives re-pattern.

Terminal grid rendering

  • Reuse a scratch dirty_rows Vec across paint passes instead of allocating a fresh Arc<[usize]> each frame.
  • take_term_damage_snapshot preallocates span capacity.

Settings window

  • Plain Escape now closes the settings window (was previously consumed by sidebar search focus).

Build

  • [profile.release] strip = "symbols" smaller release binaries.
  • termy and termy_cli bumped from 0.1.89 0.1.90.