Whiptail изменяют цвет фона динамично от пурпурного?

Как можно было бы изменить цвет фона на лету для Whiptail. Например, красные, зеленые, или желтые, Синие швы, чтобы быть отсутствием цвета. Я проверил, Как избавиться от фиолетового цвета фона в приложениях тритона? который действительно повреждает систему. Если Вы хотите постоянный синий, он в порядке.

Я знаю, что это может быть сделано как тогда, когда Вы устанавливаете Ubuntu, они изменяют цвет фона, когда Вы не получаете соответствие паролям, например. Не руководств для Whiptail обсуждают как.

Я действительно знаю, что это имеет дело с тритоном, поскольку это - его основа, но даже там они не говорят Вам как.

3
задан 13 April 2017 в 15:24

1 ответ

Внутренняя цветовая палитра whiptail может быть перезаписана при компиляции путем обеспечения пути к файлу, содержащему определения цветов.

В человечности sudo update-alternatives --config newt-palette дает возможность выбора между палитрой человечности и исходной палитрой.

Местоположение этого файла может быть переопределено путем установки NEWT_COLORS_FILE указать на альтернативный файл.

Кроме того, оба предыдущих переопределения могут быть переопределены путем установки NEWT_COLORS переменная среды.

Структура определений:

name=[fg],[bg][;|:|\n|\r|\t]name2=[fg],[bg]]...

name может быть:

root                  root fg, bg
border                border fg, bg
window                window fg, bg
shadow                shadow fg, bg
title                 title fg, bg
button                button fg, bg
actbutton             active button fg, bg
checkbox              checkbox fg, bg
actcheckbox           active checkbox fg, bg
entry                 entry box fg, bg
label                 label fg, bg
listbox               listbox fg, bg
actlistbox            active listbox fg, bg
textbox               textbox fg, bg
acttextbox            active textbox fg, bg
helpline              help line
roottext              root text
emptyscale            scale full
fullscale             scale empty
disentry              disabled entry fg, bg
compactbutton         compact button fg, bg
actsellistbox         active & sel listbox
sellistbox            selected listbox

bg и fg может быть:

color0  or black
color1  or red
color2  or green
color3  or brown
color4  or blue
color5  or magenta
color6  or cyan
color7  or lightgray
color8  or gray
color9  or brightred
color10 or brightgreen
color11 or yellow
color12 or brightblue
color13 or brightmagenta
color14 or brightcyan
color15 or white

Пример, отображающий окно сообщения с красным фоном окна:

#!/bin/sh

NEWT_COLORS='
  window=,red
  border=white,red
  textbox=white,red
  button=black,white
' \
whiptail --msgbox "passwords don't match" 0 0

Добавление к цветам человечности:

#!/bin/bash

readarray -t newtcols < /etc/newt/palette

newtcols_error=(
   window=,red
   border=white,red
   textbox=white,red
   button=black,white
)

NEWT_COLORS="${newtcols[@]} ${newtcols_error[@]}" \
whiptail --msgbox "passwords don't match" 0 0
5
ответ дан 1 December 2019 в 15:35

Другие вопросы по тегам:

Похожие вопросы: