Secara terprogram mengatur warna tab di iTerm2?

17

Alur kerja harian saya termasuk saya

  1. Meluncurkan iTerm2
  2. Membuat 3 tab
  3. Atur masing-masing satu tab menjadi merah, oranye dan kuning
  4. Mengubah ke jalur tertentu di setiap tab

Saya ingin menulis proses ini; shell, applescript, dll. Namun, sepertinya saya tidak dapat menemukan kait yang memungkinkan saya untuk mengubah warna tab. Apakah ini mungkin? Berikut ini cuplikan layar dengan contoh apa yang ingin saya capai.

Pengaturan tab iterm

John Kramlich
sumber

Jawaban:

14

Itu mungkin dan Anda harus membaca kode pelarian iterm untuk detailnya.

^[]6;1;bg;red;brightness;N^G

Saya mencoba untuk mengatur warna terminal ketika saya melakukannya ssh(.ssh / config) dan berhasil tetapi mengejutkan, ketika saya menutup sesi ssh, itu tidak akan memanggil skrip lagi, untuk mengembalikan judul / warna.

Menambahkan permintaan fitur ke tab berwarna otomatis - jangan lupa untuk membintanginya, atau menambahkan komentar Anda (tambalan juga diterima!)

Sorin
sumber
1
Saya menulis skrip wrapper ssh di ~ / bin saya yang membuat perubahan warna tab (dan hal-hal lain seperti latar belakang kustom dengan nama server) dan menggunakan perangkap EXIT untuk mengubahnya kembali.
Aaron
Aaron, maukah Anda berbagi skrip Anda?
lfender6445
Anda juga dapat melakukannya:function ssh { command ssh $@; # RESET BACK -> don't know how yet! help needed here }
davidhq
Entah bagaimana saya menemukan ... Saya menempelkannya sebagai jawaban lain
davidhq
13

Saya menambahkan fungsi ini ke file ~ / .profile saya:

function color {
    case $1 in
    green)
    echo -e "\033]6;1;bg;red;brightness;57\a"
    echo -e "\033]6;1;bg;green;brightness;197\a"
    echo -e "\033]6;1;bg;blue;brightness;77\a"
    ;;
    red)
    echo -e "\033]6;1;bg;red;brightness;270\a"
    echo -e "\033]6;1;bg;green;brightness;60\a"
    echo -e "\033]6;1;bg;blue;brightness;83\a"
    ;;
    orange)
    echo -e "\033]6;1;bg;red;brightness;227\a"
    echo -e "\033]6;1;bg;green;brightness;143\a"
    echo -e "\033]6;1;bg;blue;brightness;10\a"
    ;;
    esac
 }

Setelah menambahkan fungsi ini, Anda harus membuka sesi terminal baru. Sekarang Anda bisa masuk:

$ color green

atau

$ color orange

untuk mengubah warna Tab.

Saya menggunakan Photoshop untuk membuat warna:

Pemetik warna Photoshop

Nilai-nilai pemilih warna ini dapat dikonversi ke perintah berikut (Cukup masukkan nilai R -> merah, G -> hijau, B -> biru ke dalam garis kanan setelah "kecerahan;" untuk mendapatkan warna yang berbeda):

echo -e "\033]6;1;bg;red;brightness;57\a"
echo -e "\033]6;1;bg;green;brightness;197\a"
echo -e "\033]6;1;bg;blue;brightness;77\a"
Markus Perl
sumber
4

Untuk mengatur ulang warna tab setelah keluar dari penggunaan sesi ssh:

function ssh {
  command ssh $@
  echo -e "\033]6;1;bg;red;brightness;176\a"
  echo -e "\033]6;1;bg;green;brightness;181\a"
  echo -e "\033]6;1;bg;blue;brightness;175\a"
}
davidhq
sumber