Navigateur web TUI Chawan 0.2.0
(chawan.net)- Le navigateur web en terminal Chawan 0.2.0 a été publié et peut être installé via une archive source tarball, un binaire statique pour Linux amd64 ou un paquet
.deb - Le 25 juin 2025, une version corrective 0.2.1 a également été proposée pour corriger certains problèmes spécifiques à certaines plateformes de cette version
- Les mainteneurs de paquets peuvent désormais se limiter aux dépendances d’exécution essentielles centrées sur libssh2, libbrotli et OpenSSL ou LibreSSL
- zlib, libseccomp, termcap/ncurses et libcurl ne sont plus nécessaires, et en cas de problème de packaging il est recommandé de contacter l’upstream plutôt que d’appliquer un patch temporaire
- La branche v0.2 ne recevra que des correctifs de bugs, tandis que les nouvelles fonctionnalités continuent sur master, avec pour objectif pour la prochaine version d’améliorer les performances et la précision du moteur de mise en page ainsi que l’ergonomie de l’interface
Fichiers de distribution de Chawan 0.2.0
- Chawan 0.2.0 a été publié
- L’archive tarball de l’arborescence source est disponible ici : v0.2.0.tar.gz
- Voir le fichier README pour les instructions de compilation
- Une distribution de binaire statique pour Linux amd64 est également proposée
- Distribution de binaire statique
- Pour l’installer, extraire l’archive à l’emplacement souhaité puis exécuter
make installavec les privilèges root - La désinstallation s’effectue avec
make uninstall
- Cette même distribution est également disponible sous forme de .deb
Version corrective 0.2.1
- Dans une annonce complémentaire du 25 juin 2025, une version corrective corrigeant certains problèmes majeurs spécifiques à certaines plateformes de la 0.2.0 a été proposée
- Cette version corrective est consultable ici : chawan-0-2-1.html
Dépendances pour les mainteneurs de paquets
- Les dépendances d’exécution actuellement requises sont les suivantes
- libssh2
- libbrotli
- Plus précisément libbrotlicommon et libbrotlidec
- OpenSSL ou LibreSSL
- OpenSSL 3.0 ou plus est recommandé
- LibreSSL a été testé avec la version incluse dans OpenBSD 7.7
- Les dépendances présentes dans les versions de développement précédentes ne s’appliquent plus et peuvent être supprimées
- zlib
- libseccomp
- termcap/ncurses
- libcurl
- En cas de problème lors du packaging de Chawan, il est recommandé de prendre contact avant d’appliquer un patch temporaire
- Il est possible que le problème puisse être résolu en amont
Gestion des branches et prochaines étapes
- La 0.2.0 inclut toutes les fonctionnalités souhaitées pour le MVP et a été versionnée sans bug critique connu
- La branche v0.2 de git ne recevra que des corrections de bugs
- Le travail sur les nouvelles fonctionnalités continue sur la branche master
- La prochaine version visera à améliorer les performances et la précision du module de mise en page, ainsi qu’à rendre l’interface un peu plus conviviale
1 commentaires
Avis sur Hacker News
C’est toujours appréciable d’avoir un moyen de ne pas utiliser encore un autre moteur Blink pour une courte quête annexe d’investigation. Je vais le tester après les cours ;)
Si cela n’a pas encore été mentionné, il existe carbonyl, un port de Chromium pour terminal, qui est un hack particulièrement intéressant dans les environnements sans sixel : https://github.com/fathyb/carbonyl
Cela dit, comme le créateur original n’a plus le temps de s’en occuper, il en est à un état très basique, et il manque beaucoup de fonctions comme les raccourcis clavier ou l’enregistrement de fichiers. Mais le fait d’apporter une compatibilité web complète est vraiment génial, et j’aimerais qu’une personne sachant faire du Rust reprenne le projet. Quand j’ai regardé il y a quelques mois, aucun fork ne semblait avoir d’élan
J’espère qu’il va bien. Je voulais dire que son travail était vraiment excellent. Je déteste vraiment la guerre, de manière générale
@shiomiru
Je me demande quelles sont, selon vous, les meilleures ressources pour apprendre ce type de concepts liés aux TTY. Peu importe qu’elles soient payantes ou gratuites
Par exemple, je connais https://www.linusakesson.net/programming/tty/index.php, mais cela ne va pas jusqu’à termcap/terminfo/curses
Un commentaire mentionnait http://www.amazon.com/termcap-terminfo-OReilly-Nutshell-Lind..., et on trouve aussi une version en ligne sur https://www.scribd.com/document/831486848/Termcap-and-Termin...
Pour les séquences d’échappement réelles, ctlseqs.ms[1] de XTerm est une ressource extrêmement précieuse. J’ai aussi beaucoup puisé dans les idées de notcurses[2] de nick black, et je recommande en particulier ses notes[3] sur les « sprixels »
[1]: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html
[2]: https://nick-black.com/dankwiki/index.php/Notcurses
[3]: https://nick-black.com/dankwiki/index.php/Theory_and_Practic...
C’est vraiment bien fait. Je vais l’essayer sur une partie de mon travail quotidien pour voir jusqu’où ça peut aller. L’affichage de HN a l’air particulièrement réussi
Super cool ! C’est aussi agréable de voir que c’est écrit en Nim
Quand j’exécute
cha example.com, je ne vois pas comment utiliser les commandes du type hjkl. Les seules touches qui avaient un effet étaient les chiffres, qui s’affichent en bas à gauche. Je ne sais pas encore à quoi ils servent. Je me demande si j’ai raté quelque chose d’évident dans l’utilisation, ou si c’est peut-être un bugJe l’ai compilé depuis les sources avec Nim 2.24 sur MacOS Sequoia 15.5 Apple Silicon. Les pages se chargent correctement, mais les touches de commande ne fonctionnent pas
Je l’ai compilé depuis les sources sur une Lenovo M8 4e génération avec Termux, et il a suffi d’installer Nim. L’installation s’est faite proprement, même sans utilisateur
rootEn creusant un peu, il semble que Chrome et Safari ne réussissent désormais plus complètement Acid2 et Acid3
J’ai toujours veillé à ce que mon site web s’affiche bien aussi dans Links, et il semble maintenant y avoir un nouveau candidat
La prise en charge d’une partie de CSS rend en fait les choses un peu plus difficiles. Avant, links ignorait complètement les marges et le padding, ce qui permettait d’afficher plus proprement des éléments de liste inline comme les menus ; maintenant, l’espacement entre les éléments pose problème
Cela dit, si vous avez vraiment besoin de CSS personnalisé pour un affichage en grille, chawan prend en charge la fonctionnalité média standard
grid: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/gridJe suis un utilisateur de longue date de w3m. Après essai, je pense que je pourrais l’apprécier. C’est très correct
Je me demande si l’absence de fonction « ouvrir une URL », autrement dit de barre d’adresse, est un choix de conception volontaire
Excellent
Comme il semble ne plus utiliser termcap/ncurses, je me demande si le traitement du terminal est fait directement
Au début, j’ai commencé avec termcap parce que je le connaissais déjà via w3m. Mais termcap est une vieille interface, et elle ne permet pas de décrire le true color, la seule propriété vraiment utile sur les terminaux modernes. Son seul avantage était en gros « ça pourrait peut-être fonctionner par hasard sur des terminaux matériels des années 80 », ce qui est cool, mais pas au point d’accepter des modes d’échec supplémentaires
Donc, au lieu de passer à terminfo, j’ai tout basculé vers un modèle basé sur des requêtes au terminal, dont j’avais de toute façon besoin pour d’autres raisons. Il existe encore une base de données de terminaux intégrée pour détecter les valeurs TERM connues comme non compatibles avec XTerm. Mais si un terminal répond correctement aux requêtes, il fonctionne directement même si sa valeur TERM n’est pas connue
Voir HN se charger du premier coup dans Termux m’a laissé bouche bée. Beau travail
https://lists.sr.ht/~bptato/chawan-devel/%3CD9S40OS2QWHL.PXQ...
C’est principalement pour corriger les flèches de vote. Pour l’instant, background-image ne rend qu’un placeholder