Releases: MeinardEdrei/tmux-spotlight
Release list
v2.0.0
What's New in v2.0.0
Session Management
- Named Session Launching: Picking a folder now launches or attaches a session auto-named after the directory, instead of just opening a window. Typing a name with no matches creates a brand-new session under it.
- Inline Renaming: Rename the highlighted window or its session directly from the popup — no command prompt needed.
- Kill Confirmation: Killing a session now requires explicit confirmation, since it closes every window inside it.
- Attached/Detached Display: Sessions already open in another terminal are shown clearly in the list.
- MRU Ordering: Your most recently used windows float to the top automatically.
New Ways to Launch
- Standalone Launch: Run it from a plain shell — before tmux is even open — via an auto-installed tsp command. Picks a folder, attaches you straight into a named session.
- Pane-Level Jumping: Switch directly to a specific pane (labeled by what's running in it, e.g. nvim, npm run dev), not just its window.
- Scrollback Search: Fuzzy-search a window's terminal history, live, across every pane — no autosave daemon or snapshot layer.
Usability
- In-Popup Help (?): A full keybindings cheatsheet, reflecting your actual configured binds — with a persistent hint so it's discoverable.
- Cycle + Home/End navigation: Wrap around the list, or jump straight to either end.
- Configurable Folder Excludes: Extend the fd ignore list without forking the script.
Bug Fixes
- Fixed column misalignment caused by printf's byte-based (not character-based) padding with multi-byte emoji.
- Fixed xargs erroring on unmatched quotes in window names, paths, and scrollback content.
- Fixed activate_target being defined after handlers that needed it.
- Forced execute()/reload() actions to run under bash regardless of login shell, avoiding quoting mismatches on shells like fish.
- Fixed macOS ls compatibility (BSD vs GNU flags) in directory previews.
- Added a warning instead of a silent empty list when zoxide/fd aren't installed.
v1.2.0
What's New in v1.2.0
• Spotlight UI Redesign: Cleaned up the main search list by stripping out session indexes ( [10:1] ). It's now a clean two-column layout: window name
and directory path.
• Invisible Metadata: Used a hidden tab delimiter to keep tmux session details behind the scenes while maintaining target switching and session killing.
• Workspace Emojis: Dynamically prepends a monitor ( 🖥️ ) for running shells, and a folder ( 📂 ) for directories.
• Clean Window Naming: Spawns new windows without hardcoding emojis into your raw tmux database (meaning your status bar remains clean!).
• Integrated Directory Search: Merges zoxide history with fd project scanning under the hood, de-duplicated and sorted.
• Dynamic Sizing: Column widths calculate dynamically on the fly to remove massive padding gaps.
Bug Fixes
• Fixed bash execution order bug when parsing Zoxide variables in switcher.sh .
• Replaced locale-dependent [:ascii:] checks with a portable ASCII byte check to prevent crashes on different distros.
v1.0.0
Release v1.0.0
This is the very first release of tmux-spotlight—a minimalist window switcher and session manager for Tmux using fzf popups.
Features included
• Spotlight-style tmux window switcher: A clean, centered fzf popup with rounded borders.
• Unified layout: Window names, tmux session badges, and directory paths aligned on a vertical grid.
• Live tmux previews: Real-time terminal preview of active windows with background color stripping.
• Active session manager: Hotkeys to kill tmux sessions ( Ctrl + x ) and close windows ( Ctrl + d ) directly inside the popup.
• TPM support: Full integration with Tmux Plugin Manager and customizable keybindings.