Repository navigation
Releases: subbeh/tmux-tpad
Release list
v0.4.0
Highlights
Per-directory windows
per-dir now accepts window in addition to true. Instead of creating a separate session per git repository/directory, TPad keeps a single tpad_<instance> session with one window per directory:
set -g @tpad-git-per-dir "window"- Toggling the popup selects (or creates) the window for the current directory
- Windows are named after their directory; the popup title omits the directory suffix
- The popup closes when a window's command exits instead of showing another directory's window
- Ejected panes are tracked per window, so reclaim returns them to the right directory
per-dir "true" keeps the existing session-per-directory behaviour.
Commands run with exec
cmd now runs with exec by default, so no leftover shell remains when the command exits. For compound commands (&&, ||, ;), set shell "true" to keep the shell.
Other changes
- The default popup title uses
fg=terminalinstead of magenta, so it follows your terminal theme - Ejecting a pane no longer reports an error when the popup is already gone
- Formatting cleanup in
tpad.tmuxandREADME.md
Full changelog: v0.3.1...v0.4.0
v0.3.1
License clarification
The LICENSE file now contains the MIT license, matching what the README has always stated. Previously the file contained the GPLv3 text, which made the project's license ambiguous (reported in #4).
This release contains no functional changes — it exists so that packagers building from a tagged revision get a source tree whose LICENSE and README agree.
Full changelog: v0.3.0...v0.3.1
v0.3.0
What's New
Eject & Fullscreen
- Eject pane: Detach a tpad popup and attach it as a split in your parent session (
C-eby default) - Fullscreen mode: Expand popup to full terminal with status bar (
C-fby default) - Ejected panes are automatically reclaimed when toggling the popup again
Keybindings
- Added
-Nnotes to all keybindings for discoverability viatmux list-keys -N - Configurable bindings for fullscreen (
@tpad-bind-fullscreen) and eject (@tpad-bind-eject) - Support for specifying custom binding tables (
@tpad-<name>-table) - Mouse events auto-detect root table
Fixes
- Fixed popup options being passed incorrectly to tmux display-popup
Documentation
- Updated README with new options and examples
v0.2.2
New Features
- Per-directory sessions: Create separate sessions for each git repository
- Add
per-dirconfiguration option to enable per-repository sessions - Automatically detects git root and creates unique sessions (e.g.,
tpad_lazygit_project1,
tpad_lazygit_project2) - Ideal for tools like lazygit where you want independent sessions for different projects
- Falls back to current directory if not in a git repository
- Add
Functions Added
get_git_root(): Detects git root directory from current pane pathsanitize_dir_name(): Converts directory paths to safe session name suffixes
Example Configuration
set -g @tpad-git-bind "C-g"
set -g @tpad-git-cmd "lazygit"
set -g @tpad-git-per-dir "true"