Programowo ustawić kolor zakładki w iTerm2?

17

Mój codzienny przepływ pracy obejmuje mnie

  1. Uruchomienie iTerm2
  2. Tworzenie 3 zakładek
  3. Ustawienie jednej karty na czerwoną, pomarańczową i żółtą
  4. Przejście do określonej ścieżki na każdej karcie

Chciałbym napisać skrypt na ten proces; shell, applecript itp. Jednak nie mogę znaleźć haka, który pozwala mi zmienić kolor zakładki. czy to możliwe? Oto zrzut ekranu z przykładem tego, co próbuję osiągnąć.

Konfiguracja zakładki iTerm

John Kramlich
źródło

Odpowiedzi:

14

Jest to możliwe i powinieneś przeczytać kody ucieczki iterm, aby uzyskać szczegółowe informacje.

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

Próbowałem ustawić kolor terminala, gdy to robię ssh(.ssh / config) i zadziałało, ale zaskakuje, kiedy zamykam sesję ssh, nie wywoła skryptu ponownie, aby przywrócić tytuł / kolor.

Dodano żądanie funkcji do automatycznie kolorowanych kart - nie zapomnij oznaczyć go gwiazdką lub dodać swoje komentarze (łatki są również mile widziane!)

sorin
źródło
1
Piszę skrypt opakowujący ssh w moim ~ / bin, który zmienia kolor tabulacji (i inne rzeczy, takie jak niestandardowe tło z nazwami serwerów) i używa pułapki EXIT, aby je zmienić z powrotem.
Aaron
Aaron, czy mógłbyś udostępnić swój skrypt?
lfender6445
Możesz także to zrobić:function ssh { command ssh $@; # RESET BACK -> don't know how yet! help needed here }
davidhq
Jakoś się dowiedziałem ...
Wkleiłem
13

Dodałem tę funkcję do mojego pliku ~ / .profile:

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
 }

Po dodaniu tej funkcji musisz otworzyć nową sesję terminala. Teraz możesz wprowadzić:

$ color green

lub

$ color orange

zmienić kolor tabulatora.

Używam Photoshopa do komponowania kolorów:

Próbnik kolorów w Photoshopie

Wartości próbnika kolorów można przekonwertować na następujące polecenia (wystarczy wstawić wartości R -> czerwony, G -> zielony, B -> niebieski w prawym wierszu po „jasności;”, aby uzyskać inny kolor):

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
źródło
4

Aby zresetować kolor zakładki po wyjściu z sesji ssh, użyj:

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
źródło