Theme.sh é um script interativo de seleção de temas para terminal (mais de 400 temas)

21 de dezembro de 2021

theme.sh seletor de tema de terminal interativo

theme.sh é um script para mudar facilmente o tema do terminal. Ele vem com mais de 400 temas, um selecionador de tema interativo opcional, e é agnóstico a terminais.

O script está disponível como um único arquivo portátil que inclui todos os mais de 400 temas. Ele pode definir um tema do terminal diretamente ou, se você tiver fzf instalado em seu sistema, ele fornece um menu terminal para seleção de tema interativo, seja em um painel de visualização, ou diretamente como seu tema de terminal se o terminal que você está usando suporta TRUECOLOR. Você também pode filtrar temas claros e escuros.

Para usar theme.sh, você precisa usar qualquer terminal com suporte ao OSC 4/11. Isso inclui kitty, st, Terminal.app, iTerm2, alacritty, urxvt, st com um patch, e qualquer terminal baseado em libvte como GNOME Terminal, Terminator, Guake, Terminal Xfce, Mate Terminal, Konsole, etc. Parece que o Windows Terminal não suporta ainda. Note que no meu teste, ele não definiu corretamente a cor de fundo no Tilix. Também vale a pena notar que isso não vai funcionar com screen.

Esse é o seletor de tema de terminal interativo theme.sh em ação (clique na imagem para reproduzir o vídeo asciinema):

](https://asciinema.org/a/457522)

theme.sh também pode ser facilmente usado em scripts, com seu desenvolvedor fornecendo exemplos para integração SSH (aplique um tema durante a duração do comando ssh atual) e um wrapper de sudo/su (defina o tema como alerta vermelho quando su é usado ou o comando sudo é executado por mais de 2 segundos).

Outras características incluem um histórico de temas usados (armazenado em ~/.theme_history por padrão) e a capacidade de adicionar temas kitty ao script.

theme.sh é semelhante ao Paleta, que cobrimos há algum tempo, com algumas diferenças. theme.sh vem com mais recursos e temas, enquanto Paleta só permite mudar o tema e é isso (sem UI de seleção de temas interativos, etc.). Por outro lado, theme.sh não muda as cores na hora para todos os emuladores de terminais em execução, e você deve reiniciar todos os terminais, exceto aquele em que você mudou o tema (para o qual ele muda as cores na hora).

Instalando o theme.sh

Para baixar o script theme.sh e instalá-lo para /usr/local/bin, use:

Comandos para usar no terminal

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 usar a interface do tema interativa UI, você também precisará instalar fzf.

Sem qualquer outra configuração, o conjunto do tema utilizando theme.sh é usado apenas para o terminal atual. Quando reiniciado (ou se você abrir uma nova janela), ele usa o tema do terminal anterior. Para aplicar o último tema selecionado a todos os novos terminais suportados, você precisa editar seu arquivo de configuração shell:

  • para Bash e Zsh, adicione o seguinte código no final de ~/.bashrc ou ~/.zshrc (dependendo do que você está usando):
if command -v theme.sh > /dev/null; then
    [ -e ~/.theme_history ] && theme.sh "$(theme.sh -l|tail -n1)"
fi
  • para Fish, adicione o seguinte código no final do arquivo ~/.config/fish/config.fish:
if type -q theme.sh
    if test -e ~/.theme_history
        theme.sh (theme.sh -l|tail -n1)
    end
end

Consulte a página theme.sh do GitHub para obter mais opções, exemplos de script, etc.

Gosta de usar ferramentas de terminal? Veja esse artigo em que mostramos uma rápida introdução ao fzf (Interactive Command-Line Fuzzy Finder)

Esse post foi traduzido do site LinuxUprising.com pela rtland.team.

Linux Uprising Blog

Confira a versão original desse post em inglês:

Theme.sh Is An Interactive Terminal Theme Selection Script (400+ Themes)
Propaganda
Propaganda