Skip to content

Commit 334b204

Browse files
gpas45claude
andcommitted
pgsql: список экземпляров снова в псевдографике (whiptail --textbox), less — фолбэк
По просьбе: вернул TUI-окно для списка экземпляров вместо less. Приоритет — whiptail --textbox --scrolltext с подсказкой по клавишам в заголовке и высотой окна под терминал; less остаётся фолбэком, если whiptail недоступен. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent f99aab9 commit 334b204

1 file changed

Lines changed: 10 additions & 12 deletions

File tree

pgsql/pg-server-manager.sh

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -87,19 +87,13 @@ ui_msg() { # ui_msg "текст"
8787
if [[ -n "$DIALOG" ]]; then "$DIALOG" --msgbox "$1" 16 78 1>&2; else echo -e "$1" >&2; fi
8888
}
8989

90-
# Прокручиваемый просмотр длинного текста (список экземпляров и т.п.).
91-
# whiptail-textbox рисует полосу прокрутки малозаметно (сливается с рамкой), поэтому
92-
# по возможности показываем через less: внизу всегда видна строка положения
93-
# («строки X–Y из N») и подсказка по клавишам — однозначно видно, что есть прокрутка.
94-
# Фолбэк: whiptail --textbox --scrolltext; затем простой вывод.
90+
# Прокручиваемый просмотр длинного текста (список экземпляров и т.п.) — псевдографика.
91+
# whiptail --textbox --scrolltext (полоса прокрутки справа малозаметна, поэтому в
92+
# заголовок вынесена подсказка по клавишам). Высота окна — под терминал.
93+
# Фолбэк, если whiptail недоступен: пейджер less, затем простой вывод.
9594
ui_textbox() { # ui_textbox "заголовок" "текст"
96-
local title=$1 text=$2 pager
97-
pager=$(command -v less || true)
98-
if [[ -n "$pager" ]]; then
99-
printf '%b\n' "$text" | LESSSECURE=1 "$pager" -K \
100-
-Pm"$title · строки %lt–%lb из %L · ↑↓ PgUp PgDn — листать, q — выход" \
101-
>/dev/tty 2>/dev/tty
102-
elif [[ -n "$DIALOG" ]]; then
95+
local title=$1 text=$2
96+
if [[ -n "$DIALOG" ]]; then
10397
local tmp; tmp=$(mktemp) || { ui_msg "$text"; return; }
10498
printf '%b\n' "$text" > "$tmp"
10599
local rows cols h w
@@ -110,6 +104,10 @@ ui_textbox() { # ui_textbox "заголовок" "текст"
110104
"$DIALOG" --title "$title ↑↓/PgUp/PgDn — прокрутка, Enter — закрыть" \
111105
--scrolltext --textbox "$tmp" "$h" "$w" 1>&2
112106
rm -f "$tmp"
107+
elif command -v less >/dev/null; then
108+
printf '%b\n' "$text" | LESSSECURE=1 less -K \
109+
-Pm"$title · строки %lt–%lb из %L · ↑↓ PgUp PgDn — листать, q — выход" \
110+
>/dev/tty 2>/dev/tty
113111
else
114112
printf '%b\n' "$text" >&2
115113
fi

0 commit comments

Comments
 (0)