Apakah ada cara untuk mengubah warna latar belakang sesi rxvt-unicode dengan cepat? Suka dengan Ctrlkunci?
Saya memiliki banyak jendela Urxvt dan saya ingin mewarnai beberapa secara dinamis untuk membantu saya membedakannya. Tapi sekali lagi, maksud saya dengan cepat ...
Jawaban:
urxvt
2.6 pada tahun 2004 menambahkan dukungan untuk fitur warna dinamis xterm . Dalam XTerm Control Sequences , ini adalahOSC
11.OSC
10 mengatur warna teks default. Changelog menyebutkan bagian dari perubahan:tetapi kode sumber menceritakan kisahnya, seperti biasa:
Manual
rxvt(7)
tidak memberikan informasi berguna:Contoh sederhana ini menetapkan warna latar depan (teks) dan latar belakang standar :
Seperti
xterm
, warna - warna default ini dapat ditimpa sementara oleh warna "ANSI".Fitur ini dapat dinonaktifkan dalam
xterm
menggunakandynamicColors
sumber daya. Tidak sepertixterm
,urxvt
tidak memiliki pengaturan sumber daya untuk fitur ini.VTE juga mengimplementasikan fitur ini, dan juga tidak mendokumentasikannya.
urxvt
setidaknya dimulai dengan dokumentasi darirxvt
. Untuk VTE, Anda harus membaca kode sumber. Fitur yang relevan dalamvteseq.cc
terlihat seperti ini:Kode itu tanggal kembali sekitar tahun 2003 (ketika ditulis dalam C):
Bacaan lebih lanjut:
sumber
Saya menambahkan yang berikut ke
~/.Xresources
file saya untuk mengubah warna dengan cepat dengan menekan Ctrldan 7atau 8atau 9.Jika Anda ingin mengatur warna foreground dan background pada saat yang bersamaan, cukup gabungkan perintah-perintahnya (beberapa warna ditentukan oleh nama):
Anda dapat menguji warna Anda dengan
echo
perintah sederhana , seperti ini:Perhatian
Saya menggunakan kode 11 untuk warna latar belakang dan kode 10 untuk warna latar depan . Definisi untuk Urxvt yang dikutip oleh Thomas Dickey mengindikasikan untuk menggunakan 49 dan 39 sebagai gantinya (yang saya uji dan juga berfungsi).
sumber
Warna Dinamis adalah contoh perpindahan warna secara dinamis. Ini dimulai dengan menggunakan dua sumber ini.:
xterm*dynamicColors: true urxvt*dynamicColors: on
Meskipun memimpin, saya belum mendapatkan perubahan warna bekerja dengan urxvt sekalipun! Teknik ini bekerja sangat baik dengan xterm. Dynamic Colours menyebut "urutan pelarian OSC" ini yang mengubah terminal, contoh untuk membuat latar belakang merah adalah:
echo -e "\03echo -e "\033]11;#ff0000\007"3]11;#ff0000\007"
sumber
echo -e "\033]11;#ff0000\007"
Saya memiliki yang berikut ini di Xresources saya untuk peralihan cepat (ya, ini didasarkan pada warna dinamis).
Anda juga dapat melihat pendekatan lain di sini: https://github.com/sos4nt/dynamic-colors
sumber
Saya menulis ekstensi bernama urxvt-theme yang menambahkan fungsionalitas ini ke rxvt-unicode (dengan menu konteks sederhana) menggunakan sumber daya X dan warna dinamis.
sumber