Impostare a livello di codice il colore di una scheda in iTerm2?


17

Il mio flusso di lavoro quotidiano include me

  1. Avvio di iTerm2
  2. Creazione di 3 schede
  3. Impostare una scheda ciascuna su rosso, arancione e giallo
  4. Passare a un percorso specifico in ciascuna scheda

Vorrei scrivere questo processo; shell, applecript, ecc. Tuttavia, non riesco a trovare un gancio che mi permetta di cambiare il colore della scheda. È possibile? Ecco una schermata con un esempio di ciò che sto cercando di ottenere.

Impostazione della scheda iTerm


Risposte:


14

Questo è possibile e dovresti leggere i codici di escape iterm per i dettagli.

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

Ho provato a impostare il colore del terminale quando lo faccio ssh(.ssh / config) e ha funzionato, ma ha sorpreso, quando chiudo la sessione ssh, non chiamerà più lo script, al fine di ripristinare il titolo / colore.

Aggiunta di una richiesta di funzionalità alle schede colorate automaticamente : non dimenticare di aggiungere un asterisco o di aggiungere commenti (anche le patch sono benvenute!)


1
Scrivo uno script wrapper ssh nel mio ~ / bin che fa cambiare il colore della scheda (e altre cose come lo sfondo personalizzato con i nomi dei server) e usa una trap EXIT per cambiarle.
Aaron,

Aaron, ti dispiacerebbe condividere la tua sceneggiatura?
lfender6445,

Puoi anche farlo:function ssh { command ssh $@; # RESET BACK -> don't know how yet! help needed here }
davidhq,

In qualche modo l'ho scoperto ... L'ho incollato come un'altra risposta
davidhq

13

Ho aggiunto questa funzione al mio file ~ / .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
 }

Dopo aver aggiunto questa funzione è necessario aprire una nuova sessione di terminale. Ora puoi inserire:

$ color green

o

$ color orange

per cambiare il colore della scheda.

Uso Photoshop per comporre i colori:

Selettore colore di Photoshop

I valori di questo selettore colori possono essere convertiti nei seguenti comandi (basta inserire i valori R -> rosso, G -> verde, B -> blu nella riga destra dopo "luminosità;" per ottenere un colore diverso):

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"

4

Per ripristinare il colore della scheda dopo essere usciti dalla sessione ssh usare:

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"
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.