Terminal reader: play with mpv, mark read on move, folders and pins (#439, #440, #441)

p hands the item's downloaded file (/media/{id}) to mpv in its own window, with the token as a
header. Moving onto an item with j or k marks it read, as selecting one on the page does. The
feed list follows the page's order: pinned first, a subscribed OPML a folder that Space opens,
its unread the sum of its feeds', and P pins or unpins. scripts/build-tui.sh cross-builds the
binary for Linux and macOS under the same cap as the image builds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RqkrVARreS9wxzH5o2rF7N
This commit is contained in:
2026-11-11 23:04:02 +00:00
parent 3a3900e959
commit 75d099474c
5 changed files with 265 additions and 14 deletions

View File

@@ -15,13 +15,18 @@ IPX_URL=http://192.168.1.130:8099 IPX_API_TOKEN=... target/release/ipx
| key | does |
|---|---|
| `j` `k`, arrows | move, or scroll the item's text |
| `Enter`, `l`, `Tab` | open the feed or the item; opening an item marks it read |
| `Enter`, `l`, `Tab` | open the feed or the item |
| `h`, `Esc` | back a pane; `Esc` on the feeds quits |
| `Space`, `PgUp` `PgDn` | page through the item's text |
| `Space` | on the feeds, open or close a folder: a subscribed OPML, its feeds inside |
| `P` | pin the feed or folder to the top of the list, or unpin it |
| `p` | play the item's file in [mpv](https://mpv.io), in a window of its own |
| `m` | mark the item read or unread |
| `f` | flag or unflag it |
| `u` | unread items only, or every item (unread only to start) |
| `r` | reload |
| `q` | quit |
It shows a feed's newest 200 items.
An item is marked read when you move onto it or open it, as on the page. It shows a feed's newest
200 items. Playing needs `mpv` on the path (`brew install mpv` on a Mac),
and where you stop is not saved to iPX as it is on the page.