4 points par GN⁺ 2024-06-08 | 1 commentaires | Partager sur WhatsApp

lsix : un outil qui affiche des miniatures d’images dans le terminal

Utilisation

  • Peut s’utiliser avec la commande lsix [fichiers ...].
  • Affiche par défaut les images du répertoire de travail courant.
  • Il est possible d’indiquer des noms de fichiers ou d’utiliser des caractères génériques (ex. : lsix *jpg*png).

Exemples

Utilisation de base

  • En saisissant la commande lsix, les images du répertoire courant s’affichent.
  • Pour forcer l’affichage d’un type de fichier précis, indiquez un nom de fichier ou utilisez des caractères génériques (ex. : lsix *.pdf).

Extension GIF

  • Si un fichier GIF est spécifié, toutes les images sont dépliées et affichées en montage (ex. : lsix nyancat.gif).

Détection de la couleur de fond du terminal

  • Les fichiers PNG et SVG affichent correctement le canal alpha en fonction de la couleur de fond du terminal.
  • La couleur de premier plan et la couleur de fond du terminal sont détectées afin d’ajuster l’affichage de manière appropriée.

Fonctionnalités

  • Détecte si le terminal peut afficher des graphiques SIXEL.
  • Fonctionne bien aussi sur des serveurs distants via SSH.
  • Gère correctement les graphiques non bitmap (ex. : .svg, .eps, .pdf, .xcf).
  • Détecte automatiquement le nombre de registres de couleur du terminal afin d’améliorer la qualité d’image.
  • Détecte automatiquement la couleur de premier plan et la couleur de fond du terminal.
  • Lorsqu’il y a beaucoup d’images, l’affichage se fait ligne par ligne, sans devoir attendre le montage complet.
  • Affiche correctement les noms de fichiers longs en les renvoyant à la ligne.
  • Permet de modifier facilement la largeur des tuiles du montage, la famille de police, la taille en points, etc.

Installation

  • Placez le fichier lsix dans votre chemin et exécutez-le (ex. : /usr/local/bin).
  • ImageMagick est nécessaire. Il peut être installé facilement via le gestionnaire de paquets (ex. : apt-get install imagemagick).
  • Les utilisateurs de MacOS peuvent l’installer avec la commande brew install lsix.

Compatibilité des terminaux

  • Terminaux prenant en charge les graphiques SIXEL : XTerm, MLterm, foot, Wezterm, Contour, iTerm2, Konsole, yakuake, WSLtty, MinTTY, Yaft, VTE, sixel-tmux, ttyd.
  • Terminaux ne prenant pas en charge les graphiques SIXEL : MacOS Terminal, kitty, tous les terminaux standards basés sur libvte (gnome-terminal, terminator, lxterm), Alacritty.

Configuration

  • lsix a été conçu pour rester très simple et ne dispose ni de fichier de configuration séparé ni d’options en ligne de commande.
  • Il peut être modifié facilement en éditant directement le script.

Bugs

  • En mode vidéo inversée de XTerm, la couleur de fond ne s’affiche pas correctement.
  • La largeur d’écran de XTerm est limitée à 1000px.
  • Si un nom de fichier commence par "@", ImageMagick provoque une erreur.
  • Si une chaîne vide est fournie comme nom de fichier, ImageMagick se bloque.
  • Les noms de fichiers longs sont renvoyés à la ligne de manière inefficace.
  • Les répertoires indiqués sur la ligne de commande ne sont pas traités récursivement.
  • Des problèmes peuvent survenir si un fichier vidéo est spécifié.

Problèmes futurs

  • Le standard SIXEL ne fournit aucun moyen d’interroger la taille de l’écran graphique.
  • Il n’existe aucun moyen d’interroger le nombre de registres de couleur.
  • Certains émulateurs de terminal ne sont pas compatibles avec lsix.

Avis de GN⁺

  • Affichage d’images dans le terminal : lsix est un outil utile qui permet de visualiser facilement des images dans le terminal. Il est particulièrement pratique pour vérifier des images sur des serveurs distants.
  • Problèmes de compatibilité : comme tous les terminaux ne prennent pas en charge les graphiques SIXEL, il faut vérifier la compatibilité avant utilisation.
  • Installation simple : l’installation est très simple et les logiciels nécessaires sont faciles à obtenir.
  • Possibilités de personnalisation : le script est simple, ce qui permet aux utilisateurs de le modifier et de l’étendre facilement.
  • Outil alternatif : d’autres outils offrant des fonctions similaires existent, comme img2sixel.

1 commentaires

 
GN⁺ 2024-06-08
Commentaires sur Hacker News
  • La branche sixel expérimentale de Tmux a été fusionnée dans la branche principale il y a environ 10 mois. On peut désormais compiler Tmux avec l’option --enable-sixel et utiliser des outils comme lsix. Pour vérifier si votre terminal ou multiplexeur préféré prend en charge sixel, vous pouvez consulter le site "Are We Sixel Yet".
  • La fonctionnalité que je préfère dans ce dépôt est le répertoire README.md.d. Je trouve que c’est une bonne idée. On pourrait probablement même se passer du .md.
  • La prise en charge de sixel est détectée automatiquement avec \e[c. \e[c correspond à la fonction « envoyer les attributs du périphérique ».
  • Dans le même esprit, il existe aussi un outil appelé timg.
  • Bonne idée, mais cela ne fonctionne pas dans PuTTY/ KiTTY. Il faut utiliser un terminal qui prend en charge les graphiques sixel. Pour tester si votre terminal prend en charge sixel, vous pouvez convertir une image et vérifier. Si ce n’est pas le cas, vous pouvez soumettre un bug report.
  • iTerm2 sur macOS propose une fonctionnalité similaire, mais avec moins de charge côté serveur. Au lieu de rendre l’image en sixel sur le serveur, il envoie une image encodée en base64 au client pour un rendu local.
  • Depuis la version 0.44.0, fzf propose une prise en charge (expérimentale) des images sixel dans la fenêtre de prévisualisation. En revanche, cela ne fonctionne pas sous Windows.
  • La police de HN peut prêter à confusion. J’attends avec impatience le prochain titre : 'Isis, comme "ls", mais pour les terroristes.'
  • Il faut être prudent lorsqu’on exécute cet outil dans un répertoire non fiable. Il faut faire particulièrement attention lors du traitement de fichiers comme les PDF si ImageMagick est utilisé.
  • Tant que le terminal prend en charge les graphiques sixel, il n’y a pas de problème.