💾 Archived View for nicwaller.com › awesome-gemini › clients-terminal › av-98.gmi captured on 2022-07-16 at 13:34:40. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2022-06-11)
-=-=-=-=-=-=-
The entire AV-98 client fits in a single Python script under 64 KB, which makes it incredibly easy to install and get started.
git clone https://tildegit.org/solderpunk/AV-98.git cd AV-98 ./av98.py
AV-98 is a non-paging client, which is unlike most other terminal clients for Gemini. A non-paging client works much like a shell, where each command generates some output and the terminal scrolls to follow. There's no attempt to detect the size of the viewport and position content accordingly. This is immediately evident on startup: the first prompt is near the top of the screen, the short help occupies only a few lines, and there's empty space beneath the second prompt.
The difference becomes even more pronounced when viewing long pages. Browsing to a long page will print the entire page into the terminal, and you need to use some kind of scrollback to go back and see the top of the page. I'm using a graphical terminal which provides scrollback, so going back up is easy.
If I was using a text-only terminal, I could use something like tmux to provide a scrollback buffer. Or just pipe the output of AV-98 into less.
Beware: AV-98 is not just displaying the raw page content as-is. It detects gemtext formatting and inserts terminal control codes for headings, links, and other stylings. This means it's not quite usable for viewing source. And definitely don't try using AV-98 to fetch a page into a vim buffer. ;)
$ vim :.!./av98.py darknesscode.xyz/linux/av-98-browser.gmi
I think AV-98 could benefit from extra commands that allow fetching the raw page either from the command line, or from within the AV-98 shell. Perhaps respecting the NO_COLOR environment variable would be one way to accomplish that.
I did notice one recurring error message while using AV-98 with Python 3.10, though it didn't seem to impact any of the functionality:
av98.py:552: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated context = ssl.SSLContext(protocol)
In conclusion, AV-98 is a great little Gemini client that does a great job in a slightly unusual niche. It will appeal most to terminal purists that don't like automatic paging, but it probably won't end up as your daily driver for Gemini.
Review date: 2022-06-14