Navegador web TUI Chawan 0.2.0
(chawan.net)- Se publicó el navegador web basado en terminal Chawan 0.2.0, que puede instalarse como tarball del código fuente, binario estático para Linux amd64 y paquete
.deb - El 25 de junio de 2025 también se ofreció una versión de parche 0.2.1 que corrige algunos de los principales problemas específicos de plataforma de esta versión
- Los mantenedores de paquetes solo necesitan organizar las dependencias obligatorias de runtime en torno a libssh2, libbrotli y OpenSSL o LibreSSL
- zlib, libseccomp, termcap/ncurses y libcurl ya no son necesarios, y si hay problemas de empaquetado se recomienda consultar primero con upstream en lugar de aplicar parches temporales
- La rama v0.2 solo recibirá correcciones de errores, mientras que las nuevas funciones seguirán en master, y la próxima versión buscará mejorar el rendimiento y la precisión del layout, además de la usabilidad de la UI
Archivos de distribución de Chawan 0.2.0
- Se lanzó Chawan 0.2.0
- El tarball del árbol de código fuente está disponible como v0.2.0.tar.gz
- Para compilarlo, hay que consultar el archivo README
- También se ofrece una distribución de binario estático para Linux amd64
- Distribución de binario estático
- Para instalarla, hay que extraer el archivo en la ubicación deseada y luego ejecutar
make installcon privilegios de root - La desinstalación se realiza con
make uninstall
- La misma distribución también puede descargarse como paquete .deb
Versión de parche 0.2.1
- En un anuncio adicional del 25 de junio de 2025, se ofreció una versión de parche que corrige algunos problemas específicos de plataforma importantes de 0.2.0
- La versión de parche puede consultarse en chawan-0-2-1.html
Dependencias para mantenedores de paquetes
- Las dependencias de runtime obligatorias actuales son las siguientes
- libssh2
- libbrotli
- Más específicamente, libbrotlicommon y libbrotlidec
- OpenSSL o LibreSSL
- Se recomienda OpenSSL 3.0 o superior
- Se probó LibreSSL con la versión incluida en OpenBSD 7.7
- Las dependencias presentes en versiones de desarrollo anteriores ya no aplican y pueden eliminarse
- zlib
- libseccomp
- termcap/ncurses
- libcurl
- Si surge algún problema durante el empaquetado de Chawan, se recomienda contactar primero antes de aplicar parches temporales
- Existe la posibilidad de que el problema pueda resolverse en upstream
Gestión de ramas y próximo trabajo
- La versión 0.2.0 recibió numeración porque ya incluye todas las funciones deseadas para el MVP y no tiene errores críticos conocidos
- La rama v0.2 de git solo recibirá correcciones de errores
- El trabajo en nuevas funciones continuará en la rama master
- La próxima versión tendrá como objetivo mejorar el rendimiento y la precisión del módulo de layout, y hacer la UI un poco más amigable para el usuario
1 comentarios
Opiniones en Hacker News
Siempre se agradece una forma de no tener que usar otro motor Blink para misiones secundarias de investigación rápidas. Lo voy a probar después de clases ;)
Por si aún no se mencionó, un hack especialmente bueno para entornos sin sixel es carbonyl, un port de Chromium para la terminal: https://github.com/fathyb/carbonyl
Eso sí, está en un estado muy básico porque el creador original no ha tenido tiempo de retomarlo, y le faltan muchas funciones como atajos de teclado o guardar archivos. Aun así, que ofrezca compatibilidad web completa es realmente genial, y ojalá alguien que sepa Rust lo retome. Cuando lo vi hace unos meses, no había ningún fork con mucho impulso
Espero que el autor esté bien. Quiero decir que su trabajo era realmente bueno. En general, odio mucho la guerra
@shiomiru
Me da curiosidad saber cuáles crees que son los mejores recursos para aprender estos conceptos relacionados con TTY. No importa si son de pago o gratis
Por ejemplo, conozco https://www.linusakesson.net/programming/tty/index.php, pero no llega a cubrir termcap/terminfo/curses
En uno de los comentarios se mencionó http://www.amazon.com/termcap-terminfo-OReilly-Nutshell-Lind..., y también aparece una versión en línea en https://www.scribd.com/document/831486848/Termcap-and-Termin...
Para las secuencias de escape reales, ctlseqs.ms[1] de XTerm es un recurso invaluable. También tomé muchas ideas de notcurses[2] de nick black, y recomiendo especialmente sus notas sobre “sprixels”[3]
[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...
Está muy bien hecho. Voy a probarlo en parte de mi trabajo diario para ver hasta dónde llega. La visualización de HN se ve especialmente bien
¡Súper genial! También es lindo ver que esté escrito en Nim
Al ejecutar
cha example.com, no sé cómo usar comandos como hjkl. Las únicas teclas que tuvieron efecto fueron los números, que aparecen abajo a la izquierda. Todavía no sé qué hacer con eso. Me pregunto si me estoy perdiendo algo obvio en el uso, o si podría ser un bugLo compilé desde el código fuente con Nim 2.24 en MacOS Sequoia 15.5 Apple Silicon. La página carga correctamente, pero las teclas de comando no funcionan
Lo compilé desde el código fuente en una Lenovo M8 4.ª generación con Termux, y solo tuve que instalar Nim. La instalación fue limpia y funcionó bien aunque no existe el usuario
rootInvestigando un poco, parece que Chrome y Safari ahora tampoco pasan completamente Acid2 y Acid3
Siempre he procurado que mi sitio web se vea bien también en Links, y parece que ahora hay un nuevo candidato
Soportar algo de CSS en realidad lo vuelve un poco más difícil. Antes, links ignoraba por completo márgenes y padding, así que podía usar eso para mostrar de forma más limpia elementos de lista en línea como menús, pero ahora el espaciado entre elementos se vuelve un problema
Aun así, si de verdad necesitas CSS personalizado para visualización en cuadrícula, chawan soporta la característica multimedia estándar
grid: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/gridSoy usuario de w3m desde hace mucho. Al probarlo, creo que podría llegar a gustarme. Está muy bien
Me pregunto si la falta de una función de “abrir URL”, es decir, una barra de direcciones, es una decisión de diseño intencional
Excelente
Ahora parece que no usa termcap/ncurses, así que me da curiosidad si están manejando directamente el procesamiento de la terminal
Al principio empecé con termcap porque ya lo conocía por w3m. Pero termcap es una interfaz antigua y no puede describir la única capacidad útil en terminales modernas: true color. Su única ventaja era algo como “quizá funcione por casualidad en terminales de hardware de los 80”, lo cual es genial, pero no tanto como para aceptar modos de falla adicionales
Así que, en lugar de pasar a terminfo, lo cambié por completo a un enfoque basado en consultas a la terminal, que ya necesitaba por otras razones. Todavía hay una base de datos de terminales integrada para detectar valores de TERM que se sabe que no son compatibles con XTerm. Pero si una terminal responde correctamente a las consultas, funciona de inmediato aunque el valor de TERM no sea conocido
Me quedé con la boca abierta al ver que HN cargó al primer intento en Termux. Gran trabajo
https://lists.sr.ht/~bptato/chawan-devel/%3CD9S40OS2QWHL.PXQ...
Es principalmente para corregir las flechas de voto. Por ahora, background-image solo renderiza un marcador de posición