i colori in grassetto urxvt sono sbagliati - il grassetto # 0-7 sta usando i colori dal # 8-15


10

I miei colori sono spenti. In particolare, la versione in grassetto dei colori 1-6 è rotta:

inserisci qui la descrizione dell'immagine

Il colore di ciascun indice (accentuato) deve corrispondere al colore del testo accanto ad esso. Non è così.

Questo è generato da questa sintesi, modificato per includere i colori # 0-15. (È identico tranne che , 16sulla riga 25 è stata rimossa.)

Aggiornare:

Ecco cosa sta succedendo: Bold # 1 sta usando il colore # 9, grassetto # 2 sta usando il colore # 10 e così via. Ho confermato questo cambiando color9, color10e così via nel mio .Xresourcesfile.

Sto usando solarizzato .Xresources e preferirei mantenere i colori n. 9-15 colorati in modo diverso.

Inoltre, i colori in grassetto sono corretti in xterm.

Perché urxvt Bold # 0-7 utilizza i colori da # 8-15 e come posso fermarlo?


Puoi condividere la tua versione dello script? Sarebbe utile vedere esattamente quali sequenze di escape stai inviando. (ad esempio intenso vs. grassetto)
benizi,

È letteralmente esattamente lo stesso, tranne che ", 16" sulla riga 25 è stato rimosso.
So8res,

Risposte:


15

Utilizzare il +isflag della riga di comando o (esattamente equivalentemente), impostare la intensityStylesrisorsa su false. Dalla pagina man:

intensità: stile booleano

Quando gli stili di carattere non sono abilitati o questa opzione è abilitata (Vero, l'opzione -è, l'impostazione predefinita), gli stili di carattere grassetto / lampeggiante implicano colori di primo piano / sfondo ad alta intensità. Disabilitando questa opzione (Falso, opzione + è) si disabilita questo comportamento, i colori ad alta intensità non sono raggiungibili.

Quindi, in .Xresources:

URxvt.intensityStyles: false

Non è chiaro quale comportamento sia "giusto". (Preferisco "bold" = "carattere grassetto".) Storicamente, alcuni terminali trattano SGR 1 (\ e [1m) come "grassetto", mentre altri lo trattano come "intenso". I terminali attuali mostrano un mix di comportamenti. La riga superiore in ogni finestra ha i colori da 0 a 15 in "grassetto". La seconda riga è senza "grassetto". ( -bdced +bdcè l'equivalente XTerm di URxvt -ise +is- non so perché sembra influire solo sul colore 0 sul mio sistema)

trattamento di vari terminali di grassetto vs intenso

script per eseguire i terminali in questa immagine


2
Caspita, gli emulatori terminali sono davvero un ghetto. Grazie mille, questo mi stava scatenando.
So8res,

È xterm +/-pc(e non +/-bdc) equivalente urxvt +/-is. "non sono sicuro del motivo per cui sembra influire solo sul colore 0" - perché hai usato l'opzione sbagliata :-) Ho potuto correggere il tuo post ma non ho voglia di riprendere gli screenshot :-)
egmont

Per contro, il Terminale GNOME 3.32 / VTE 0.56 ha impostato il suo valore predefinito su "solo grassetto", equivalente a xterm +pce urxvt +is.
egmont,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.