Terminal.app che cambia magicamente i valori dei colori [duplicato]

3

Terminal.app fa alcuni cambi di colore molto strani che rendono impossibile abbinare i colori in modo coerente, e mi chiedo se ci sia un modo per disabilitarlo o controllarlo meglio. La "magia" è ciò che mostra il viola al posto del blu, ad esempio, anche quando il colore ansi per il tema è impostato su blu chiaro.

Questo comportamento sembra essere legato all'impostazione del colore di sfondo ... l'impostazione di qualsiasi colore di sfondo (con capacità setag di terminfo) disabilita lo spostamento di colore "magico", mentre un attributo ripristinato (sgr0) lo riattiva.

Questo è il mio test (imposta il primo piano, stampa alcuni blocchi unicode, imposta in modo esplicito lo sfondo al nero, stampa di nuovo):

b=$'\xE2\x96\x88' && bs=$b$b$b$b$b$b$b$b &&
  tput setaf 4 && echo -n "$bs" &&
  tput setab 0 && echo "$bs"

Con il tema predefinito, stampa viola (magico) poi blu (ansi). Quindi, il mio primo tentativo è stato quello di campionare il colore viola e aggiornare le preferenze per usare quella viola anziché blu ... tutto dovrebbe essere coerente ora, giusto?

Alla prossima manche, ho un viola leggermente più luminoso e poi il viola che ho inserito. All'inizio ho pensato di mettere il colore in modo sbagliato, ma mentre continuavo a rendere più luminose le impostazioni del colore per abbinare ciò che Terminal.app stava mostrando senza lo sfondo impostato esplicitamente, il Terminal.app continuava a diventare più luminoso - fino a quando non era bianco!

Da questo, mi sembra che Terminal.app riduca automaticamente i colori visualizzati sul colore di sfondo default di qualche fattore, ma lascia i colori su qualsiasi sfondo impostato esplicitamente; rendendo impossibile la corrispondenza dei due colori (eccetto bianco e nero).

FWIW, lo sfondo della finestra è impostato su nero completamente opaco.

C'è un modo per sbarazzarsi di questo comportamento? Penso che questo sia forse un bug-report-degno, ma sono curioso di sapere se c'è qualcosa che mi manca.

    
posta danwyand 20.11.2014 - 18:12
fonte

1 risposta

1

Per ottenere la giusta combinazione di colori, lo sfondo deve essere esplicitamente dichiarato all'interno di LSCOLOR (gnu) o LS_COLOR (linux) e deve corrispondere al set non ANSI nel tuo Terminal.app (es. Window > Background > Color ed effetti).

Quindi, qualcosa come LSCOLORS=eadafafacafafacacaeaea funzionerebbe mentre qualcosa come LSCOLORS=exdxfxfxcxfxfxcxcxexex non lo farebbe.

    
risposta data 21.07.2015 - 22:34
fonte

Leggi altre domande sui tag