Saya belajar bahwa saya dapat mengubah format PS1, terutama warna senarnya. Lalu, apakah mungkin untuk mengubah warna berdasarkan warna latar belakang shell? Atau, bagaimana saya bisa mendeteksi warna latar belakang shell?
12
Sejauh yang saya tahu, tidak ada cara untuk menanyakan warna emulator terminal. Anda dapat mengubahnya dengan \e]4;NUMBER;#RRGGBB\a
(di mana NUMBER
nomor warna terminal (0–7 untuk warna terang, 8–15 untuk warna cerah) dan #RRGGBB
merupakan nilai warna RGB heksadesimal) jika terminal Anda mendukung urutan itu (referensi: ctlseqs ).
Mekanisme skema warna yang kuat sering memiliki pengaturan latar belakang gelap atau terang yang harus Anda berikan untuk menunjukkan apakah Anda memiliki latar belakang hitam atau abu-abu gelap, atau latar belakang putih atau abu-abu terang.
Saat Anda mengonfigurasi sendiri, biasanya cukup untuk memutuskan Anda akan selalu menggunakan warna latar yang sama.
TERM
dan jadi tidak bisa didapat dari lingkungan.Jika Anda menggunakan terminal gnome, Anda bisa mendapatkan warna latar belakang untuk profil apa pun, dalam hal ini untuk profil Default as
maka Anda dapat memutuskan bagaimana mengatur prompt Anda sesuai.
sumber
Dengan xterm, Anda dapat menanyakan warna latar belakang dengan
\e]11;?\a
urutan escape. Anda perlu membaca respons dari terminal. Adaxtermcontrol
perintah yang melakukan itu untuk Anda:sumber