Terminal UIs offer a nice escape from the increasingly-cluttered world of modern UI design. These are a few of the things I’ve found on my travels.

See awesome-tuis for more ideas.

  • Internet
    • aerc—mail client
    • newsboat—feed reader that syncs with FreshRSS; the user-interface is a little clunky, but it works well once you’ve learned its quirks (sudo apt install newsboat)
    • links—web browser
  • Social
    • discordo—entirely reasonable Discord client with awkward authentication
    • gomuks—matrix headless client and terminal frontend
    • tooi—Mastodon client; I wish it used default terminal colours
  • Multimedia
    • abs-tui—Audiobookshelf client. Seems reasonable, but missing Podcast support.
    • jellyfin-tui—Jellyfin client (cargo install --git https://github.com/dhonus/jellyfin-tui)
    • podliner—podcasts
    • seance—podcatcher by Geist
  • Files
    • ranger—had to build the latest version of this to pick up image support in Ghostty
    • fancy-cat—pdf viewer
    • timg
    • bresson—exif viewer / editor
  • System (Linux)
    • ly—TUI display manager
    • impala—looks good but doesn’t seems to play nicely with Raspberry Pi’s wpa_supplicant
    • bluetuii (perhaps useful for the Little Luggable)
  • Development
    • gitu—git client (cargo install gitu --locked)
    • lazyactions—GitHub Actions client
  • Miscellaneous

aerc

Before sending, on the compose screen, :multipart gives the option to add an HTML section converted from Markdown. Though this appears to be a complete mess with quoted emails.

:multipart text/html

See https://man.sr.ht/~rjarry/aerc/configurations/htmlmail.md for some notes.

Keyboard shortcuts:

  • shift s—show the preview pane

cmus

Don’t forget :update-cache.

On macOS, it’s necessary to use the ao output plugin to avoid stutter:

set output_plugin=ao

See https://github.com/cmus/cmus/issues/1130 for a discussion of the issue.

Playlists are managed the same way as the main library. For example you can use the following commands independently in both:

:clear
:add Music/Library.m3u

helix

  • space a—show completion (especially with Codebook)
  • w—forward a word
  • b—back a word
  • ;—collapse the current selection to a single cursor

gomuks

  • Ctrl+K - switch rooms