Use -p option of split-window instead of manual calculation

This commit is contained in:
Junegunn Choi 2014-03-31 13:48:53 +09:00
parent 1a100a2919
commit af616457e3
2 changed files with 14 additions and 18 deletions

20
install
View File

@ -115,14 +115,14 @@ __fsel() {
}
__fsel_tmux() {
local height lines
local height
height=${FZF_TMUX_HEIGHT:-40%}
lines=${LINES:-40}
if [[ $height =~ %$ ]]; then
height=${height:0:${#height}-1}
height=$(( height * lines / 100 ))
height="-p ${height%\%}"
else
height="-l $height"
fi
tmux split-window -l $height "tmux send-keys -t $TMUX_PANE \"\$($__fsel)\""
tmux split-window $height "tmux send-keys -t $TMUX_PANE \"\$($__fsel)\""
}
__fcd() {
@ -189,14 +189,14 @@ EOF
if [ -n "$TMUX_PANE" -a ${FZF_TMUX:-1} -ne 0 -a ${LINES:-40} -gt 15 ]; then
fzf-file-widget() {
local height lines
local height
height=${FZF_TMUX_HEIGHT:-40%}
lines=${LINES:-40}
if [[ $height =~ %$ ]]; then
height=${height:0:${#height}-1}
height=$(( height * lines / 100 ))
height="-p ${height%\%}"
else
height="-l $height"
fi
tmux split-window -l $height "tmux send-keys -t $TMUX_PANE \"\$($__fsel)\""
tmux split-window $height "tmux send-keys -t $TMUX_PANE \"\$($__fsel)\""
}
else
fzf-file-widget() {

View File

@ -115,20 +115,16 @@ function! s:execute_tmux(dict, command, temps)
let command = a:command
endif
if type(a:dict.tmux) == 1
if a:dict.tmux =~ '%$'
let height = &lines * str2nr(a:dict.tmux[0:-2]) / 100
else
let height = str2nr(a:dict.tmux)
endif
if type(a:dict.tmux) == 1 && a:dict.tmux =~ '%$'
let height = '-p '.a:dict.tmux[0:-2]
else
let height = a:dict.tmux
let height = '-l '.a:dict.tmux
endif
let s:pane = substitute(
\ system(
\ printf(
\ 'tmux split-window -l %d -P -F "#{pane_id}" %s',
\ 'tmux split-window %s -P -F "#{pane_id}" %s',
\ height, s:shellesc(command))), '\n', '', 'g')
let s:dict = a:dict
let s:temps = a:temps