The panes used palette color 0, which color themes such as Catppuccin set to a grey lighter than their background: everything looked washed out and grey text almost disappeared (seen in Ghostty on macOS). The startup probe now also asks for the background color (OSC 11), and with 24-bit color and a dark background that color is used. The probe always runs at startup, so a later switch to real images in the Config view never has to ask the terminal while the screen owns it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019reK4DUGYqDUjniWYJvwUW
66 lines
5.0 KiB
Markdown
66 lines
5.0 KiB
Markdown
# Changelog
|
|
|
|
## Unreleased
|
|
|
|
- **The terminal's own background:** the panes used color 0 of the terminal's palette ("black"),
|
|
which many color themes set to a grey lighter than their background (e.g. Catppuccin), so the
|
|
whole program looked washed out and grey text almost disappeared. The terminal is now asked for
|
|
its background color at startup and that is used (with 24-bit color and a dark background).
|
|
- **Smooth scrolling on huge terminals:** while an arrow key is held, the poster waits until the
|
|
selection rests (120 ms). Every poster rewrites all of its cells, which on a terminal zoomed far
|
|
out was more output per step than the terminal could draw, so moving through a list lagged.
|
|
- **Posters in macOS Terminal:** Terminal.app draws the half and quarter blocks from the font, and
|
|
their halves do not meet at the middle of the cell, so posters looked like rows of shifted dots.
|
|
`auto` now draws them there as plain colored cells (new `ui.cover_style` value `cells`): coarser,
|
|
but even. For real images on macOS use Ghostty or kitty.
|
|
- **Real images in Ghostty and kitty on macOS:** the question whether the terminal supports the
|
|
Kitty graphics protocol gave up at once on macOS (a terminal device there cannot have a read
|
|
timeout in Go), so posters were always drawn with blocks. It now waits with select(2).
|
|
- **Real images only when the terminal confirms it:** the terminal is asked whether it supports the
|
|
Kitty graphics protocol before real-image posters are used, so terminals that only look like kitty
|
|
or Ghostty no longer get graphics commands printed as text. On macOS the sextant blocks are no
|
|
longer chosen from fontconfig's fonts.
|
|
- **Ctrl+C quits**; `q` no longer does (also not in the help window, which closes with Esc).
|
|
- **Series drill-down** shows the series poster and details of the selected season or episode,
|
|
including the episode's plot.
|
|
- **Posters in WebP and GIF:** Sonarr/Radarr can store WebP data under a `.jpg` name; such posters
|
|
(and GIFs) now show instead of failing with "unknown format". When a poster cannot be read, the Log
|
|
says what it looks like. If an instance has no copy of a poster, or only answers with its login page, the API key is also tried as a query parameter and then the provider's poster is used.
|
|
- **Config (F6):** edit the settings of the config file inside the program (addresses, API keys,
|
|
add-form defaults, refresh interval, posters, notifications), test the connections, save, and
|
|
have everything take effect immediately. Environment-provided values are never written to the file.
|
|
The Log is now on F7.
|
|
- **Posters as real images** in kitty and Ghostty (Kitty graphics protocol with Unicode
|
|
placeholders), at the terminal's full resolution and with the right aspect ratio. Other terminals
|
|
keep the block-character posters, using sextants when fontconfig finds a font with the glyphs
|
|
(e.g. GNOME Terminal with Adwaita Mono) and quadrants otherwise. `ui.cover_style` gains `kitty`; `auto` is the default.
|
|
- **Calendar (F5):** two weeks of movie releases and airing episodes grouped by day, with poster,
|
|
plot, release search and automatic search. The Log moves to F7.
|
|
- **Download notifications:** popup and log entry when a SABnzbd download finishes or fails, in the
|
|
background (`ui.notify_downloads`, optional `ui.bell`).
|
|
- **Remove from the library** (`d`), with separate checkboxes for deleting the files and for the
|
|
import exclusion; both off by default.
|
|
- On narrow terminals the connection indicators shrink to initials.
|
|
|
|
## v0.1.0
|
|
|
|
First release.
|
|
|
|
- **Movies / Series:** search Radarr and Sonarr as you type, add titles with quality profile, root
|
|
folder, monitoring and optional automatic search ("Search now" is turned off when nothing would be
|
|
monitored, since Radarr/Sonarr skip unmonitored items).
|
|
- **Interactive release search:** list releases with approval/rejection reasons, sort, hide
|
|
rejected ones, filter by quality, codec (x265/x264/AV1), HDR/DV, audio format (Atmos, TrueHD, DTS,
|
|
DD+, ...) and language, and grab one. Series: pick a season or an episode.
|
|
- **Library:** movies and series side by side, each with its own status filter, text filter and
|
|
file-property filter (quality, codec, HDR/DV, audio, language). Filter dialog changes apply live
|
|
and only offer options that match something. Toggle monitoring, start automatic searches.
|
|
- **Series drill-down:** seasons and episodes with monitoring, automatic search and release search.
|
|
- **Downloads:** SABnzbd queue and history plus the Radarr and Sonarr queues; pause/resume, delete,
|
|
retry, remove and blocklist.
|
|
- **Posters:** a thumbnail at the top right of the detail panes with the text flowing around it (quadrant or, on capable terminals, sextant block rendering; `ui.cover_style`).
|
|
- **Log (F7) and popups:** feedback appears as fading popups; the log keeps the history.
|
|
- Connection indicators for all three services, context-sensitive key hints, a help screen (F9).
|
|
- JSON config with environment overrides (`ARR_TUI_*`), `--version`, cross-platform builds
|
|
(`make dist`).
|