Theme.sh es un script interactivo de selección de temas en el terminal

theme.sh es un selector de temas interactivo de terminal

tema.sh es un script para cambiar fácilmente el tema del terminal. Contiene más de 400 temas, una selección de temas interactiva opcional y es independiente del terminal.

El script está disponible como un único archivo portable que contiene todos los Más de 400 temas. Puede establecer un tema de terminal directamente o, si está utilizando fzf está instalado en su sistema, ofrece un menú de terminal para selección de temas interactivos, ya sea en una ventana de vista previa o directamente como tema de terminal si el terminal utilizado soporta TRUECOLOR. También puede filtro de temas claros y oscuros.

Para utilizar theme.sh, debe utilizar un terminal con soporte OSC 4/11. Esto incluye kitty, st, Terminal.app, iTerm2, alacritty, urxvt, st con un Parchey cualquier terminal basado en libvte como GNOME Terminal, Terminator, Guake, Xfce Terminal, Mate Terminal, Console, etc. Parece un terminal de Windows no se admite todavía no lo soporta. Tenga en cuenta que en mi prueba el color de fondo en Tilix no estaba configurado correctamente. También cabe destacar que esto no funcionará en pantalla.

Este es el selector de temas interactivo del terminal theme.sh en acción (haz clic en la imagen para reproducir el vídeo de Asciinema):

457522

theme.sh también se puede utilizar fácilmente en los scriptsdonde el desarrollador proporciona ejemplos de integración de SSH (aplicando un tema durante la duración del comando ssh actual) y un sudo / su wrapper (pone el tema en alerta roja cuando su se utiliza o el sudo se ejecuta durante más de 2 segundos).

Otras características son un Historia de los temas utilizados (almacenado en ~/.theme_history por defecto), y la posibilidad de añadir temas de gatitos al guión.

theme.sh es similar a Paleta, del que informamos hace tiempo, pero con algunas diferencias. theme.sh ofrece más funciones y temas, mientras que Paleta sólo permite cambiar el tema y ya está (no hay interfaz de usuario interactiva para la selección del tema, etc.). Por otro lado, theme.sh no cambia los colores para todos los emuladores de terminal que se estén ejecutando, y tienes que reiniciar todos los terminales excepto aquel en el que hayas cambiado el tema (para el que cambia los colores inmediatamente).

Instalar Theme.sh

Para descargar el tema.sh e instalarlo en /usr/local/bin…usar:

wget https://raw.githubusercontent.com/lemnos/theme.sh/master/bin/theme.sh -O /tmp/theme.sh

sudo install /tmp/theme.sh /usr/local/bin

Para utilizar la interfaz de usuario interactiva para la selección de temas, también debe instalar lo siguiente fzf.

Sin más configuración, el tema establecido con theme.sh sólo se utiliza para la terminal actual. Cuando se reinicia (o se abre una nueva ventana), se utiliza el tema anterior del terminal. Para aplicar el último tema seleccionado a todos los nuevos terminales admitidos, es necesario editar el archivo de configuración del shell:

  • para Bash y Zsh, añada el siguiente código al final de ~/.bashrc o ~/.zshrc (dependiendo de lo que utilices):

if command -v theme.sh > /dev/null; then
    [ -e ~/.theme_history ] && theme.sh "$(theme.sh -l|tail -n1)"
fi
  • para Fish, añada el siguiente código al final del archivo ~/.config/fish/config.fish archivo:
if type -q theme.sh
    if test -e ~/.theme_history
        theme.sh (theme.sh -l|tail -n1)
    end
end