mirror of
https://github.com/tmux/tmux.git
synced 2026-10-11 13:04:22 +00:00
52 lines
1.4 KiB
Bash
52 lines
1.4 KiB
Bash
#!/bin/sh
|
|
|
|
# The zoom button on a pane's border must zoom the pane that was clicked, not
|
|
# the active pane.
|
|
|
|
PATH=/bin:/usr/bin
|
|
TERM=screen
|
|
|
|
[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux)
|
|
TMUX="$TEST_TMUX -LtestA$$ -f/dev/null"
|
|
TMUX2="$TEST_TMUX -LtestB$$ -f/dev/null"
|
|
|
|
cleanup()
|
|
{
|
|
$TMUX kill-server >/dev/null 2>&1
|
|
$TMUX2 kill-server >/dev/null 2>&1
|
|
}
|
|
fail()
|
|
{
|
|
echo "$*" >&2
|
|
cleanup
|
|
exit 1
|
|
}
|
|
|
|
cleanup
|
|
|
|
$TMUX new-session -d -s inner -x 80 -y 24 'sleep 100' || exit 1
|
|
$TMUX set -g mouse on || exit 1
|
|
$TMUX set -g pane-border-status top || exit 1
|
|
$TMUX split-window -d -h 'sleep 100' || exit 1
|
|
active=$($TMUX display-message -p '#{pane_id}') || exit 1
|
|
other=$($TMUX list-panes -F '#{pane_id}' | grep -v "^$active\$") || exit 1
|
|
|
|
$TMUX2 new-session -d -x 80 -y 24 "$TMUX attach -t inner" || exit 1
|
|
sleep 1
|
|
OUTER=$($TMUX2 list-panes -F '#{pane_id}' | head -1)
|
|
[ -n "$OUTER" ] || fail "No outer pane."
|
|
|
|
# The right hand pane's border ends with the buttons [f][z][x]; the zoom one is
|
|
# the middle button, at column 76 (1-based) on the first row.
|
|
seq=$(printf '\033[<0;76;1M\033[<0;76;1m')
|
|
$TMUX2 send-keys -t "$OUTER" -l "$seq" || fail "send-keys failed."
|
|
sleep 1
|
|
|
|
got=$($TMUX display-message -p -t "$other" '#{pane_zoomed_flag}')
|
|
[ "$got" = "1" ] || fail "clicked pane zoomed flag '$got', expected '1'"
|
|
got=$($TMUX display-message -p -t "$active" '#{pane_zoomed_flag}')
|
|
[ "$got" = "0" ] || fail "active pane zoomed flag '$got', expected '0'"
|
|
|
|
cleanup
|
|
exit 0
|