.bashrc
Ön plan ve arka plan için kullandığı renklere bağlı olarak istem renkleri ayarlamak istiyorum .
Örneğin, arka plan açıksa mavi, karanlık ise bej.
Bir komut dosyasındaki geçerli ayarları bulmanın bir yolu var mı?
.bashrc
Ön plan ve arka plan için kullandığı renklere bağlı olarak istem renkleri ayarlamak istiyorum .
Örneğin, arka plan açıksa mavi, karanlık ise bej.
Bir komut dosyasındaki geçerli ayarları bulmanın bir yolu var mı?
Yanıtlar:
Thomas Dickey'den (xterm'in bakıcısı) geri gönderilen e-postada bu var. Özellikle ilgili bölüme dikkat edin ?
. Ps = 4
İfade eder OSC Ps ; Pt ST
burada OSC
( "İşletim Sistemi kontrol" öneki) 'dir ESC ]
ve ST
( "dize Terminatör" eki vardır) olan \
(ters eğik çizgi). 4
OSC mümkün alt komutlarının biridir.
Tüm palet için, bu 88/256 renk uzantısı kullanılarak ayarlanabilir / alınabilir. Ctlseqs.txt dosyasında, burada özetlenmiştir:
Ps = 4 ; c ; spec -> Change Color Number c to the color specified by spec. This can be a name or RGB specification as per XParseColor. Any number of c/spec pairs may be given. The color numbers correspond to the ANSI colors 0-7, their bright versions 8-15, and if supported, the remainder of the 88-color or 256-color table. If a "?" is given rather than a name or RGB specification, xterm replies with a control sequence of the same form which can be used to set the corresponding color. Because more than one pair of color number and specification can be given in one control sequence, xterm can make more than one reply.
Biraz sonra içinde dokümanlar daha OSC alt komutları vardır Ps = 10
ve Ps = 11
, ve diğerleri.
Ps = 1 0 -> Change VT100 text foreground color to Pt. Ps = 1 1 -> Change VT100 text background color to Pt.
Örnek - bu, arka planı Ps = "11"
(sadece yukarıdan) kullanarak Pt = "?"
ve OSC Ps ; Pt ST
. Ekoda \033
kaçış ve \\
son ters eğik çizgi için kullanılıyor.
echo -en "\033]11;?\033\\"
Çıktı:
^[]11;rgb:0000/0000/0000^[\
Uyarı: Döndürülen renk, ters videonun -rv
etkinleştirilip etkinleştirilmediğini yansıtmaz ve kullanılabilir ~ 260 renk arasında gezinmek, OSC 4 ; c ; ? ST
her ikisinin de arka planı takip ettiği VE ters video ile değiştiğini göstermez. Birçok kullanıcı sadece kullanarak karanlık bir arka plan xterm -rv
belirlediğinden, arka planın gerçekten karanlık olup olmadığını belirlemeyi zorlaştırır. Çoğu renk de ayarlanmaz -rv
.
Tam sorguyu yapmak ve aslında xterm'den yanıtı yakalamak için kullanılan bir komut dosyası:
#!/bin/bash
success=false
exec < /dev/tty
oldstty=$(stty -g)
stty raw -echo min 0
col=11 # background
# OSC Ps ;Pt ST
echo -en "\033]${col};?\033\\" >/dev/tty # echo opts differ w/ OSes
result=
if IFS=';' read -r -d '\' color ; then
result=$(echo $color | sed 's/^.*\;//;s/[^rgb:0-9a-f/]//g')
success=true
fi
stty $oldstty
echo $result
$success
biraz
ayarları ~ / .Xdefaults dosyanıza yerleştirin:
xterm*foreground: blue
xterm*background: white
kabuğunuzda sadece değerleri grep:
awk '/xterm\*foreground:(.*)/ { print $2 }' < .Xdefaults
aksi takdirde xterm'in bazı dahili değerlerini elde etmek oldukça zordur.
Aslında bunu istediğinizi düşünüyorum:
% xrdb -query
Bu sizin için ayarları listeleyecektir. Ayrıca bakınız:
http://docstore.mik.ua/orelly/unix3/upt/ch06_08.htm
Çalışma zamanını değiştirmek için şunu kullanın:
% echo "some*setting: somevalue" | xrdb -merge
-query
tüm kaynakları listeler. bir kaynak belirtmek ubuntu üzerinde çalışmıyor.
xrdb -query
sadece size tüm kaynakların listesini verir .. hangi awk / grep için ön plana almak için tekrar gerekir. ve zaten itiraf ettiğim şey bu. xrdb -merge
Burada tamamen offtopic olduğunu coz OP xresources ama bashprompt görünümünü değiştirmek istemiyor.