←back to thread

387 points shiomiru | 2 comments | | HN request time: 0.484s | source

A terminal-based web browser in Nim.[1] Has acceptable (YMMV) CSS rendering, some JS support, and inline images (sixel/kitty). It can also use various protocols other than http(s) such as (s)ftp, gopher, gemini, ...

Chawan started out as a w3m clone, and the UI still resembles it. However, the architecture has turned out quite different, with pages loaded in separate processes, and protocol/file type handling separated out into external binaries. An interesting result is that you can even register decoders for custom inline image formats, although practical use cases of this are rather minimal.

There is a gallery showcasing some websites being rendered here: https://chawan.net/gallery/index.html

[1]: https://nim-lang.org

Show context
ieee2 ◴[] No.44297737[source]
How are those images rendered in text UI?
replies(3): >>44297770 #>>44297780 #>>44297803 #
1. ho_schi ◴[] No.44297803[source]
btw.

Rendering images or movies on the TTY is common.

fbida: https://www.kraxel.org/blog/linux/fbida/

mpv: https://mpv.io/

Fbida sometimes need the -d option pointing to /dev/drm/something, when using screen or tmux.

MPV required for years -vo=drm on the TTY but since some months it always works. Nice improvement :)

A display server is not needed.

replies(1): >>44297811 #
2. ieee2 ◴[] No.44297811[source]
It is first time I saw it today. Thanks!