Releases: loichyan/tmux-toggle-popup
0.4.4 (2025-08-30)
This release doesn't include major updates but fixes a bug that occurred when using multiple popups specified with --id.
Fixed
- Resolve name conflicts when using
--id(#52)
0.4.3 (2025-08-14)
This release resolves a long-standing issue with @popup-toggle on macOS's ancient built-in Bash (#44). Thanks to u/Beautiful_Baseball76 for the feedback , which also motivated me to add a number of integration tests, although many are powered by some "dark" Bash magic =.=
Added
- Distribute this plugin to nixpkgs (#42, NixOS/nixpkgs#428294, thanks @szaffarano)
- Support specifying the socket path for the popup server (#43)
Changed
- The
before-openandafter-closehooks are called in the same execution that opens the popup window. This should rarely have side effects (#46)
Fixed
0.4.2 (2025-07-29)
This release comes with a few noticeable performance improvements for @popup-toggle. Thanks to the techniques introduced in #33, the latency of popup toggles has been reduced by 40% to 60% on average.
Added
- Support using
{popup_caller_path}and{popup_caller_pane_path}to open popups (#35) - Support using
nopto disable a hook explicitly (#36)
Changed
0.4.1 (2025-05-07)
Added
- Add a new argument,
@popup-toggle --id <id>, to directly set the ID of a popup, useful for creating globally shared popups (#27)
Fixed
- Replace special characters in the popup ID to ensure
@popup-toggledoes not fail if the current directory contains dots (.) or colons (:) (#29) - Forward working directory to popup sessions to ensure
@popup-toggle -d <dir>functions properly in switch mode (#30) - Forward current popup's ID format in switch mode to ensure the intended popup is opened when switching (#31)
0.4.0 (2024-11-23)
Added
- Add a new toggle mode,
switch, which always reuses the currently opened window when switching to another popup (#21).
Changed
- [breaking] Replace
@popup-toggle --forcewith--toggle-mode=force-close(#21). - [breaking] Replace tmux variable
#{@popup_name}in@popup-id-formatwith the{popup_name}placeholder (#21).
Fixed
- Disable potential tmux messages from popups (#23).
0.3.0 (2024-10-21)
We've implemented several improvements to make it easier for other programs to integrate with this plugin (#5, #9, thanks @cenk1cenk2). You can now override popup global options on the fly using the newly added arguments of @popup-toggle.
Added
- Support autostart popup server (13bb98a).
- Set an env variable to identify popup servers (d95d654).
- Support bind additional toggle keys in popups (#9).
- Support override global options through
@popup-toggle(#5).
Changed
- [breaking] Use xargs(1) and printf(1) to parse tmux commands (#8). This allows you to input
;directly as the command delimiter without worrying about Bash's interpretation. The new parser may yield results that differ from the previous version, although this is usually not the case.
Fixed
0.2.0 (2024-06-05)
Added
- Add two new hooks:
@popup-before-openand@popup-after-close(#2). - Add
@popup-focus, primarily used as a workaround of tmux/tmux#3991 (#3). - Support close a popup if no argument passed to
@popup-toggle(5ef9ea4).
Changed
- [breaking] Use bash(1) to parse tmux commands, thus semicolons in hooks (
@popup-on-openand@popup-on-close) must now be explicitly escaped or quoted (#1). - [breaking] Rename
@popup-on-opento@popup-on-init(#2).
Removed
- [breaking] Remove
@popup-on-close, as it cannot handle popup exits. Instead, consider setting theclient-detachedandpane-exitedtmux hooks in@popup-on-init(#2).
Fixed
- Hide messages of tmux commands in popups (5eb66cd).
0.1.0 (2024-05-28)
🎉 Initial release. See README for more details.