lsix: ferramenta que mostra miniaturas de imagens no terminal
Como usar
- Pode ser usado com o comando
lsix [arquivos ...].
- Por padrão, mostra as imagens do diretório de trabalho atual.
- É possível especificar nomes de arquivos ou usar curingas (ex.:
lsix *jpg*png).
Exemplos
Uso básico
- Ao executar o comando
lsix, ele mostra as imagens do diretório atual.
- Para forçar a exibição de um tipo específico de arquivo, especifique o nome do arquivo ou use curingas (ex.:
lsix *.pdf).
Expansão de GIF
- Ao especificar um arquivo GIF, todos os quadros são expandidos e exibidos em uma montagem (ex.:
lsix nyancat.gif).
Detecção da cor de fundo do terminal
- Arquivos PNG e SVG exibem corretamente o canal alfa de acordo com a cor de fundo do terminal.
- Detecta as cores de primeiro plano e de fundo do terminal e ajusta adequadamente.
Recursos
- Detecta se o terminal é capaz de exibir gráficos SIXEL.
- Funciona bem em servidores remotos via SSH.
- Também funciona bem com gráficos que não são bitmap (ex.: .svg, .eps, .pdf, .xcf).
- Detecta automaticamente o número de registradores de cor do terminal e melhora a qualidade da imagem.
- Detecta automaticamente as cores de primeiro plano e de fundo do terminal.
- Quando há muitas imagens, exibe uma linha por vez, sem precisar esperar pela montagem completa.
- Exibe nomes de arquivos longos com quebra adequada.
- É fácil alterar a largura dos blocos da montagem, a família da fonte, o tamanho em pontos etc.
Instalação
- Coloque o arquivo
lsix em um diretório do PATH e execute-o (ex.: /usr/local/bin).
- Requer ImageMagick. Pode ser instalado facilmente pelo gerenciador de pacotes (ex.:
apt-get install imagemagick).
- Usuários de MacOS podem instalar com o comando
brew install lsix.
Suporte de terminal
- Terminais com suporte a gráficos SIXEL: XTerm, MLterm, foot, Wezterm, Contour, iTerm2, Konsole, yakuake, WSLtty, MinTTY, Yaft, VTE, sixel-tmux, ttyd.
- Terminais sem suporte a gráficos SIXEL: MacOS Terminal, kitty, todos os terminais padrão baseados em libvte (gnome-terminal, terminator, lxterm), Alacritty.
Configuração
- O
lsix foi projetado para ser muito simples e não possui arquivo de configuração nem flags de linha de comando.
- É possível modificá-lo facilmente editando o script diretamente.
Bugs
- A cor de fundo não é exibida corretamente no modo de vídeo reverso do XTerm.
- A largura da tela do XTerm é limitada a 1000px.
- Se o nome do arquivo começar com "@", o ImageMagick gera erro.
- Se uma string vazia for especificada como nome de arquivo, o ImageMagick trava.
- Nomes de arquivos longos são quebrados de forma ineficiente.
- Diretórios especificados na linha de comando não são processados recursivamente.
- Podem ocorrer problemas ao especificar arquivos de vídeo.
Problemas futuros
- O padrão SIXEL não tem uma forma de consultar o tamanho da tela gráfica.
- Não há forma de consultar o número de registradores de cor.
- Alguns emuladores de terminal não são compatíveis com o lsix.
Opinião do GN⁺
- Visualização de imagens no terminal: o lsix é uma ferramenta útil para ver imagens facilmente no terminal. É especialmente útil ao verificar imagens em servidores remotos.
- Problemas de compatibilidade: como nem todos os terminais oferecem suporte a gráficos SIXEL, é preciso verificar a compatibilidade antes do uso.
- Instalação simples: a instalação é muito simples, e o software necessário também é fácil de obter.
- Possibilidade de personalização: como o script é simples, o usuário pode modificá-lo e ampliá-lo facilmente.
- Ferramentas alternativas: outras ferramentas com funcionalidade semelhante incluem
img2sixel etc.
1 comentários
Comentários no Hacker News
--enable-sixele usar ferramentas como o lsix. Para verificar se seu terminal ou multiplexador favorito oferece suporte a sixel, você pode consultar o site "Are We Sixel Yet".README.md.d. Acho que é uma boa ideia. Talvez desse até para omitir o.md.\e[c.\e[cé a função "enviar atributos do dispositivo".