Skip to content

V1.6.0

Latest

Choose a tag to compare

@27medkamal 27medkamal released this 27 Aug 08:31
· 1 commit to main since this release
3ffd98c

Highlights

  • Kill from the popup: highlight a session and press ctrl-x — the list refreshes in place. In windows mode (@session-wizard-windows on), ctrl-x kills just the highlighted window. No new tmux keybinding. (#23, thanks @cgimenes; closes the ask in #16)
  • Optional preview pane: set -g @session-wizard-preview on previews live pane content for sessions/windows and a directory tree (eza if installed, ls otherwise) for directories. Off by default. (#21, thanks @zykowal)
  • pre-create-session-hook: set -g @session-wizard-pre-create-session-hook '<script>' runs before session creation with <session-name> <directory>; print two lines to override them, print nothing to keep them, exit non-zero to abort. Ships with examples/resolve-session-conflict-hook.sh for same-name/different-directory conflicts. (#20, thanks @mandos; design discussion in #19, thanks @rbelem)
  • post-create-session-hook: set -g @session-wizard-post-create-session-hook '<script>' runs only when a session is actually created (never on reuse) — build project layouts automatically. Ships with examples/project-layout-hook.sh.
  • Debug logging: set -g @session-wizard-log-file '<path>'. (#20)

Fixes

  • Never-attached sessions (e.g. restored by tmux-resurrect) no longer pile at the top of the list; ordering is by last attach, locale-independent. (#18, thanks @maxbol)
  • macOS: ~ abbreviation silently never worked with stock BSD grep ("invalid character range"); full-path/short-path session names and the directory list now show ~ as intended. Note for existing macOS users: sessions created before this fix under full-path/short-path mode were named without the ~ prefix; new sessions for the same directories will use the (correct) ~ names, so an old session for a directory won't be re-used — kill the old one once and re-create via the wizard.
  • t <path-that-does-not-resolve> with no tmux server running no longer leaks the bootstrap session and a temp directory.
  • Picker stderr noise suppressed when no tmux server is running.

Development

  • The test suite is now safe to run on your machine (isolated tmux socket; works even from inside tmux) and passes on stock macOS.
  • The Docker test image is plain Alpine (no Nix required, works on Apple Silicon); the Nix flake remains as a community-maintained dev environment.
  • CI (GitHub Actions): shellcheck + full suite on Linux (GNU userland) and macOS (BSD userland) for every PR.
  • CONTRIBUTING.md documents the design principles and test workflow.

Compatibility

  • All new behaviour is opt-in; defaults unchanged.
  • The ctrl-x: kill session hint line requires fzf ≥ 0.64 — the binding works on older fzf; only the hint is hidden.