* fix: turn off remain-on-exit only on fzf-tmux pane
Using `fzf-tmux` overwrites `remain-on-exit` for all panes in a window,
if it is only set globally or at a higher scope than window.
set-option -wg remain-on-exit on
set-option -s remain-on-exit on
This makes other panes in that window close immediately on exit after
using `fzf-tmux`, even though I expect them to remain open.
Since TMux 3.0, `remain-on-exit` is a pane option that can be set via
`set-option -p`. This will limit the option's scope to just the
`fzf-tmux` pane, thus allowing us to close it immediately without
overriding `remain-on-exit` on other panes in the window.
Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
Link: 11e69f6025/CHANGES (L753-L760)
Link: https://github.com/tmux/tmux/releases/tag/3.0
Related: https://github.com/junegunn/fzf/issues/3397
* fix: turn off synchronize-panes only on fzf-tmux pane
Similar reason to 482fd2b (fix: turn off remain-on-exit only on fzf-tmux
pane, 2023-08-24).
Limit scope on which option is set to bare minimum.
Have confirmed this will not feed input back to other panes which are
set to be synchronized. However, note that this will not stop `fzf-tmux`
from being launched by two synchronized panes in parallel.
Link: https://github.com/junegunn/fzf/issues/3397#issuecomment-1689295351
---------
Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
Since we don't know in advance which flags tmux will support, simply
allow a single uppercase character ([A-Z]) for now.
fzf-tmux -xR -yS
fzf-tmux -x R -y S
Fix#1956
Requires latest tmux built from source (e.g. brew install tmux --HEAD)
Examples:
# 50%/50% width and height on the center of the screen
fzf-tmux -p
# 80%/80%
fzf-tmux -p80%
# 80%/40%
fzf-tmux -p80%,40%
# Separate -w and -h
fzf-tmux -w80% -h40%
# 80%/40% at position (0, 0)
fzf-tmux -w80% -h40% -x0 -y0
You can configure key bindings and fuzzy completion to open in tmux
popup window like so:
FZF_TMUX_OPTS='-p 80%'
fzf-tmux temporarily turns off remain-on-exit and synchronize-panes
options. We don't have to try to restore the values of the options if
they were already turned off when fzf-tmux was started.