theme.sh è uno script per cambiare facilmente il tema del terminale. Viene fornito con più di 400 temi, un selettore di temi interattivo opzionale ed è indipendente dal terminale.
Lo script è disponibile come un singolo file portatile che include tutte le 400+ temi. Può impostare direttamente un tema del terminale o, se hai installato fzf sul tuo sistema, fornisce un menu del terminale per selezione tematica interattiva, in un riquadro di anteprima o direttamente come tema del terminale se il terminale che stai utilizzando supporta TRUECOLOR. Puoi anche filtra i temi chiari e scuri.
Per utilizzare theme.sh, è necessario utilizzare qualsiasi terminale con supporto OSC 4/11. Ciò include kitty, st, Terminal.app, iTerm2, alacritty, urxvt, st con una patch e qualsiasi terminale basato su libvte come GNOME Terminal, Terminator, Guake, Xfce Terminal, Mate Terminal, Konsole, ecc. Sembra che Windows Terminal non lo supporti ancora. Nota che nel mio test, non ha impostato correttamente il colore di sfondo in Tilix. Vale anche la pena notare che questo non funzionerà sullo schermo.
Questo è il selettore di temi del terminale interattivo theme.sh in azione (fai clic sull’immagine per riprodurre il video di asciinema):
theme.sh può essere facilmente utilizzato anche negli script, con il suo sviluppatore che fornisce esempi di integrazione SSH (applica un tema per la durata del comando ssh corrente) e un sudo
/ su
wrapper (imposta il tema su avviso rosso quando su
viene utilizzato o il sudo
comando viene eseguito per più di 2 secondi).
Altre caratteristiche includono a storia dei temi usati (immagazzinato ~/.theme_history
per impostazione predefinita), e la possibilità di aggiungere temi per gattini alla sceneggiatura.
theme.sh è simile a Paleta, di cui abbiamo parlato qualche tempo fa, con alcune differenze però. theme.sh è dotato di più funzionalità e temi, mentre Paleta consente solo di cambiare il tema e il gioco è fatto (nessuna interfaccia utente interattiva per la selezione del tema, ecc.). D’altra parte, theme.sh non cambia i colori al volo per tutti gli emulatori di terminale in esecuzione e devi riavviare tutti i terminali tranne quello in cui hai cambiato il tema (per il quale cambia i colori su La mosca).
Potrebbe interessarti anche: Una rapida introduzione a fzf (Interactive Command-Line Fuzzy Finder)
Installa theme.sh
Per scaricare lo script theme.sh e installarlo su /usr/local/bin
, uso:
wget https://raw.githubusercontent.com/lemnos/theme.sh/master/bin/theme.sh -O /tmp/theme.sh
sudo install /tmp/theme.sh /usr/local/bin
Per utilizzare l’interfaccia utente interattiva per la selezione del tema, dovrai anche installare fzf.
Senza altre configurazioni, il tema impostato utilizzando theme.sh viene utilizzato solo per il terminale corrente. Quando viene riavviato (o se si apre una nuova finestra), utilizza il tema del terminale precedente. Per applicare l’ultimo tema selezionato a tutti i nuovi terminali supportati, è necessario modificare il file di configurazione della shell:
- per Bash e Zsh, aggiungi il seguente codice alla fine di
~/.bashrc
o~/.zshrc
(a seconda di cosa stai usando):
if command -v theme.sh > /dev/null; then
[ -e ~/.theme_history ] && theme.sh "$(theme.sh -l|tail -n1)"
fi
- per Fish, aggiungi il seguente codice alla fine del
~/.config/fish/config.fish
file:
if type -q theme.sh
if test -e ~/.theme_history
theme.sh (theme.sh -l|tail -n1)
end
end
Vedi la pagina GitHub di theme.sh per ulteriori opzioni, esempi di script, ecc.