From bf65e8cd12b0477a916ed16fa6d9d3ff9a78c824 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Tue, 31 Mar 2020 22:18:09 +0900 Subject: [fzf-tmux] Add option to start fzf in tmux popup window 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%' --- shell/completion.bash | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'shell/completion.bash') diff --git a/shell/completion.bash b/shell/completion.bash index b1f7ac97..377afe56 100644 --- a/shell/completion.bash +++ b/shell/completion.bash @@ -2,10 +2,10 @@ # / __/___ / __/ # / /_/_ / / /_ # / __/ / /_/ __/ -# /_/ /___/_/-completion.bash +# /_/ /___/_/ completion.bash # # - $FZF_TMUX (default: 0) -# - $FZF_TMUX_HEIGHT (default: '40%') +# - $FZF_TMUX_OPTS (default: empty) # - $FZF_COMPLETION_TRIGGER (default: '**') # - $FZF_COMPLETION_OPTS (default: empty) @@ -37,9 +37,9 @@ bind '"\e[0n": redraw-current-line' __fzf_comprun() { if [ "$(type -t _fzf_comprun 2>&1)" = function ]; then _fzf_comprun "$@" - elif [ -n "$TMUX_PANE" ] && [ "${FZF_TMUX:-0}" != 0 ] && [ ${LINES:-40} -gt 15 ]; then + elif [ -n "$TMUX_PANE" ] && { [ "${FZF_TMUX:-0}" != 0 ] && [ ${LINES:-40} -gt 15 ] || [ -n "$FZF_TMUX_OPTS" ]; }; then shift - fzf-tmux -d "${FZF_TMUX_HEIGHT:-40%}" "$@" + fzf-tmux ${FZF_TMUX_OPTS:--d${FZF_TMUX_HEIGHT:-40%}} -- "$@" else shift fzf "$@" -- cgit v1.2.3