Como alguém mudaria a cor de fundo rapidamente para Whiptail. Por exemplo, vermelho, verde ou amarelo, o azul parece falta de cor. eu chequeiComo se livrar da cor de fundo roxa em aplicativos newt?o que realmente quebra o sistema. Se você quiser azul permanente, tudo bem.
Eu sei que isso pode ser feito quando você instala o Ubuntu, eles mudam a cor de fundo quando você não obtém senhas correspondentes, por exemplo. Nenhum dos manuais do Whiptail discute como.
Eu sei que ele lida com salamandra porque esta é a sua base, mas mesmo aí eles não dizem como.
Responder1
A paleta de cores interna do chicote pode ser substituída na compilação, fornecendo um caminho para um arquivo contendo definições de cores.
No Ubuntu sudo update-alternatives --config newt-palette
fornece uma maneira de selecionar entre a paleta do Ubuntu e a paleta original.
A localização deste arquivo pode ser substituída configurando NEWT_COLORS_FILE
para apontar para um arquivo alternativo.
Além disso, ambas as substituições anteriores podem ser substituídas definindo a NEWT_COLORS
variável de ambiente.
A estrutura das definições é:
name=[fg],[bg][;|:|\n|\r|\t]name2=[fg],[bg]]...
name
pode ser:
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
e fg
pode ser:
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
Exemplo de exibição de uma caixa de mensagem com fundo de janela vermelho:
#!/bin/sh
NEWT_COLORS='
window=,red
border=white,red
textbox=white,red
button=black,white
' \
whiptail --msgbox "passwords don't match" 0 0
Anexando às cores do Ubuntu:
#!/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