mirror of
https://github.com/tmux/tmux.git
synced 2026-10-10 12:14:43 +00:00
Merge branch 'master' into local_windows
This commit is contained in:
@@ -73,11 +73,14 @@ $TMUX new-session -d -s m -x 80 -y 24 'cat' || exit 1
|
||||
$TMUX split-window -t m:0 'cat' || exit 1
|
||||
p0=$($TMUX display-message -p -t m:0.0 '#{pane_id}')
|
||||
p1=$($TMUX display-message -p -t m:0.1 '#{pane_id}')
|
||||
$TMUX set -g display-panes-format 'P#{pane_index}' ||
|
||||
$TMUX set -g display-panes-format \
|
||||
'P#{pane_index}:#{pane_unzoomed_width}x#{pane_unzoomed_height}' ||
|
||||
fail "set display-panes-format failed"
|
||||
|
||||
$TMUX2 new-session -d -s out -x 80 -y 24 "$TMUX attach -t m" || exit 1
|
||||
wait_clients 1
|
||||
p0_size=$($TMUX display-message -p -t "$p0" '#{pane_width}x#{pane_height}')
|
||||
p1_size=$($TMUX display-message -p -t "$p1" '#{pane_width}x#{pane_height}')
|
||||
|
||||
capture()
|
||||
{
|
||||
@@ -100,11 +103,38 @@ wait_capture()
|
||||
$TMUX display-panes -d 0 -t "$p0" || fail "display-panes failed"
|
||||
wait_format "$p0" '#{pane_mode}' 'panes-mode'
|
||||
wait_format "$p0" '#{window_zoomed_flag}' '1'
|
||||
wait_capture 'P0'
|
||||
wait_capture 'P1'
|
||||
wait_format "$p0" '#{pane_unzoomed_width}x#{pane_unzoomed_height}' \
|
||||
"$p0_size"
|
||||
wait_capture "P0:$p0_size"
|
||||
wait_capture "P1:$p1_size"
|
||||
$TMUX send-keys -t "$p0" q || fail "exit panes mode failed"
|
||||
wait_format "$p0" '#{pane_in_mode}' '0'
|
||||
wait_format "$p0" '#{window_zoomed_flag}' '0'
|
||||
$TMUX set -g display-panes-format 'P#{pane_index}' ||
|
||||
fail "reset display-panes-format failed"
|
||||
|
||||
# Unzoomed sizes match the visible pane size when scrollbars reserve space.
|
||||
$TMUX set -w -t m:0 pane-scrollbars on ||
|
||||
fail "set pane-scrollbars failed"
|
||||
$TMUX set -w -t m:0 pane-scrollbars-style "width=2,pad=1" ||
|
||||
fail "set pane-scrollbars-style failed"
|
||||
p0_size=$($TMUX display-message -p -t "$p0" '#{pane_width}x#{pane_height}')
|
||||
p1_size=$($TMUX display-message -p -t "$p1" '#{pane_width}x#{pane_height}')
|
||||
$TMUX set -g display-panes-format \
|
||||
'S#{pane_index}:#{pane_unzoomed_width}x#{pane_unzoomed_height}' ||
|
||||
fail "set scrollbar display-panes-format failed"
|
||||
$TMUX display-panes -d 0 -t "$p0" || fail "display-panes scrollbar failed"
|
||||
wait_format "$p0" '#{window_zoomed_flag}' '1'
|
||||
wait_format "$p0" '#{pane_unzoomed_width}x#{pane_unzoomed_height}' \
|
||||
"$p0_size"
|
||||
wait_capture "S0:$p0_size"
|
||||
wait_capture "S1:$p1_size"
|
||||
$TMUX send-keys -t "$p0" q || fail "exit scrollbar panes mode failed"
|
||||
wait_format "$p0" '#{pane_in_mode}' '0'
|
||||
$TMUX set -w -t m:0 pane-scrollbars off ||
|
||||
fail "reset pane-scrollbars failed"
|
||||
$TMUX set -g display-panes-format 'P#{pane_index}' ||
|
||||
fail "reset display-panes-format after scrollbars failed"
|
||||
|
||||
# -Z starts unzoomed.
|
||||
$TMUX display-panes -Zd 0 -t "$p0" || fail "display-panes -Z failed"
|
||||
@@ -192,13 +222,21 @@ $TMUX set -g display-panes-format 'P#{pane_index}' ||
|
||||
# pane content into the status row.
|
||||
$TMUX set -w -t m:0 pane-border-status top ||
|
||||
fail "set pane-border-status failed"
|
||||
$TMUX set -g display-panes-format '' || fail "clear display-panes-format failed"
|
||||
status_p0_size=$($TMUX display-message -p -t "$p0" \
|
||||
'#{pane_width}x#{pane_height}')
|
||||
status_p1_size=$($TMUX display-message -p -t "$p1" \
|
||||
'#{pane_width}x#{pane_height}')
|
||||
$TMUX set -g display-panes-format \
|
||||
'#[align=right]T#{pane_index}:#{pane_unzoomed_width}x#{pane_unzoomed_height}' ||
|
||||
fail "set status display-panes-format failed"
|
||||
$TMUX respawn-pane -k -t "$p0" 'printf "STATUS-TOP\n"; exec cat' ||
|
||||
fail "write status marker failed"
|
||||
wait_capture 'STATUS-TOP'
|
||||
$TMUX display-panes -d 0 -t "$p0" || fail "display-panes status failed"
|
||||
wait_format "$p0" '#{pane_mode}' 'panes-mode'
|
||||
wait_capture 'STATUS-TOP'
|
||||
wait_capture "T0:$status_p0_size"
|
||||
wait_capture "T1:$status_p1_size"
|
||||
CAPTURED=$(capture)
|
||||
first=$(printf '%s\n' "$CAPTURED" | sed -n '1p')
|
||||
second=$(printf '%s\n' "$CAPTURED" | sed -n '2p')
|
||||
@@ -230,13 +268,18 @@ wait_format "$fp" '#{pane_mode}' 'panes-mode'
|
||||
wait_format "$fp" '#{window_zoomed_flag}' '1'
|
||||
wait_capture '┌'
|
||||
wait_capture '┘'
|
||||
fp_size=$($TMUX display-message -p -t "$fp" \
|
||||
'#{pane_unzoomed_width}x#{pane_unzoomed_height}')
|
||||
[ "$fp_size" = "30x8" ] ||
|
||||
fail "expected floating unzoomed size 30x8, got $fp_size"
|
||||
$TMUX send-keys -t "$fp" q || fail "exit zoomed floating panes mode failed"
|
||||
wait_format "$fp" '#{pane_in_mode}' '0'
|
||||
wait_format "$fp" '#{window_zoomed_flag}' '0'
|
||||
|
||||
$TMUX resize-pane -t "$fp" -x 48 -y 14 ||
|
||||
fail "resize floating pane larger failed"
|
||||
$TMUX set -g display-panes-format '#[align=right]FP#{pane_width}x#{pane_height}' ||
|
||||
$TMUX set -g display-panes-format \
|
||||
'#[align=right]FP#{pane_unzoomed_width}x#{pane_unzoomed_height}' ||
|
||||
fail "set floating display-panes-format failed"
|
||||
$TMUX display-panes -Zd 0 -t "$fp" || fail "display-panes floating format failed"
|
||||
wait_format "$fp" '#{pane_mode}' 'panes-mode'
|
||||
|
||||
@@ -5,11 +5,20 @@
|
||||
start_pane alternate 10 3 'MAIN\033[?1049hALT\033[?1049lZ\n'
|
||||
check_capture alternate 'MAINZ'
|
||||
|
||||
start_pane osc133 10 4 '\033]133;A\007prompt\n\033]133;C\007output\n'
|
||||
check_capture osc133 'prompt
|
||||
output'
|
||||
check_flags osc133 'P prompt
|
||||
O output'
|
||||
start_pane osc133 20 8 'xx\033]133;A\007p>\033]133;B\007cmd\nxy\033]133;P;k=s\007more\nzz\033]133;C\007out\033]133;D;7\007\nq\033]133;C\007bad\033]133;D;-1\007\nqq\033]133;C\007big\033]133;D;300\007\nzzz\033]133;C\007ok\033]133;D\007\n'
|
||||
check_capture osc133 'xxp>cmd
|
||||
xymore
|
||||
zzout
|
||||
qbad
|
||||
qqbig
|
||||
zzzok'
|
||||
check_raw_matches osc133 \
|
||||
'L 0 \(0\) flags=START_PROMPT,START_COMMAND\[[0-9a-f]+\].* osc133=2,4,0,0,0' \
|
||||
'L 1 \(1\) flags=SECOND_PROMPT\[[0-9a-f]+\].* osc133=2,0,0,0,0' \
|
||||
'L 2 \(2\) flags=START_OUTPUT,END_OUTPUT\[[0-9a-f]+\].* osc133=0,0,2,5,7' \
|
||||
'L 3 \(3\) flags=START_OUTPUT,END_OUTPUT\[[0-9a-f]+\].* osc133=0,0,1,4,255' \
|
||||
'L 4 \(4\) flags=START_OUTPUT,END_OUTPUT\[[0-9a-f]+\].* osc133=0,0,2,5,255' \
|
||||
'L 5 \(5\) flags=START_OUTPUT,END_OUTPUT\[[0-9a-f]+\].* osc133=0,0,3,5,0'
|
||||
|
||||
$TMUX kill-server 2>/dev/null
|
||||
exit $exit_status
|
||||
|
||||
@@ -21,7 +21,7 @@ exit_status=0
|
||||
format_string () {
|
||||
case $1 in
|
||||
*\')
|
||||
printf '"%%%%"'
|
||||
printf '"%%%%%%"'
|
||||
;;
|
||||
*)
|
||||
printf "'%%%%'"
|
||||
|
||||
Reference in New Issue
Block a user