mirror of
https://github.com/tmux/tmux.git
synced 2026-10-16 16:44:30 +00:00
82 lines
2.0 KiB
Bash
82 lines
2.0 KiB
Bash
#!/bin/sh
|
|
|
|
# The style at the end of a side status row carries over to the next row, as
|
|
# if the rows were one line: attributes removed from side-status-style stay
|
|
# removed, a pushed or set default stays in place, and the alignment, fill and
|
|
# hyperlink carry on. The inner client runs in an outer pane which is captured
|
|
# with its attributes.
|
|
|
|
PATH=/bin:/usr/bin
|
|
TERM=screen
|
|
LC_ALL=C.UTF-8
|
|
export PATH TERM LC_ALL
|
|
|
|
[ -z "$TEST_TMUX" ] && TEST_TMUX=$(readlink -f ../tmux)
|
|
TMUX="$TEST_TMUX -LtestA$$ -f/dev/null"
|
|
TMUX2="$TEST_TMUX -LtestB$$ -f/dev/null"
|
|
|
|
cleanup()
|
|
{
|
|
$TMUX2 kill-server >/dev/null 2>&1
|
|
$TMUX kill-server >/dev/null 2>&1
|
|
}
|
|
trap cleanup 0 1 15
|
|
|
|
fail()
|
|
{
|
|
echo "$*" >&2
|
|
exit 1
|
|
}
|
|
|
|
# Check the second side status row starts with $2.
|
|
row2()
|
|
{
|
|
got=$($TMUX2 capture-pane -ep -t outer:0.0 | sed -n 2p)
|
|
case "$got" in
|
|
"$2"*) ;;
|
|
*) fail "$1: row 2 is '$got'" ;;
|
|
esac
|
|
}
|
|
|
|
$TMUX new-session -d -s inner -x 40 -y 10 'sleep 100' || exit 1
|
|
$TMUX set -g status off || exit 1
|
|
$TMUX set -g side-status left || exit 1
|
|
$TMUX2 new-session -d -s outer -x 40 -y 10 'sleep 100' || exit 1
|
|
$TMUX2 set -g status off || exit 1
|
|
$TMUX2 respawn-pane -k -t outer:0.0 "$TMUX attach -t inner" || exit 1
|
|
sleep 1
|
|
|
|
ESC=$(printf '\033')
|
|
|
|
$TMUX set -g side-status-style bold || exit 1
|
|
$TMUX set -g side-status-format '#[nobold]one#[nl]two' || exit 1
|
|
sleep 1
|
|
row2 "nobold" "two"
|
|
|
|
$TMUX set -g side-status-style default || exit 1
|
|
$TMUX set -g side-status-format \
|
|
'#[fg=red]#[push-default]one#[nl]#[fg=blue]#[default]two' || exit 1
|
|
sleep 1
|
|
row2 "push-default" "$ESC[31mtwo"
|
|
|
|
$TMUX set -g side-status-format \
|
|
'#[fg=red]#[set-default]#[fg=blue]#[push-default]one#[nl]'\
|
|
'#[pop-default]#[default]two' || exit 1
|
|
sleep 1
|
|
row2 "set-default" "$ESC[31mtwo"
|
|
|
|
$TMUX set -g side-status-format '#[align=right]one#[nl]two' || exit 1
|
|
sleep 1
|
|
row2 "align" " two"
|
|
|
|
$TMUX set -g side-status-format '#[fill=red]one#[nl]two' || exit 1
|
|
sleep 1
|
|
row2 "fill" "two$ESC[41m"
|
|
|
|
$TMUX set -g side-status-format '#[link=https://example.com/]one#[nl]two' ||
|
|
exit 1
|
|
sleep 1
|
|
row2 "link" "$ESC]8;"
|
|
|
|
exit 0
|