Commit Graph
42 Commits
Author SHA1 Message Date
nilsandClaude Opus 5.5 08d3417b05 Light terminal themes: use the terminal's text color too
On a light background (Catppuccin Latte in Ghostty on macOS) the panes
kept palette color 0, a dark grey slab with white text. The probe now also
asks for the text color (OSC 10). Light backgrounds are used as well, with
text, borders and titles in the terminal's text color, input fields and
buttons in a light shade of it, and the active tab drawn in it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019reK4DUGYqDUjniWYJvwUW
2026-10-21 11:59:44 +02:00
nilsandClaude Opus 5.5 d2e868293f Terminal background: decide 24-bit color like tcell, and log why
The check only looked at COLORTERM, but tcell also draws 24-bit color for
terminals whose description has it (xterm-ghostty, xterm-kitty), so in
Ghostty on macOS without COLORTERM the background was never used. Use
tcell's rules, and always log which background is used and why.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019reK4DUGYqDUjniWYJvwUW
2026-10-21 11:53:47 +02:00
nilsandClaude Opus 5.5 0270462fe4 Use the terminal's own background color
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
2026-10-21 11:47:27 +02:00
nilsandClaude Opus 5.5 2aa28c7e18 Ask the terminal before using Kitty graphics; no fontconfig-based sextants on macOS
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019reK4DUGYqDUjniWYJvwUW
2026-10-21 11:08:36 +02:00
nilsandClaude Opus 5.5 705d795e6d Quit with Ctrl+C only; q is an ordinary key everywhere
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019reK4DUGYqDUjniWYJvwUW
2026-10-21 10:20:18 +02:00
nilsandClaude Opus 5.5 8601a2af6f Graphics debug log: also log what is drawn, optionally to a file
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019reK4DUGYqDUjniWYJvwUW
2026-10-21 01:25:40 +02:00
nilsandClaude Sonnet 5.5 55810bb1e2 Real-image posters: blocks while the window is being resized; ARR_TUI_DEBUG_GFX log
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-21 00:35:19 +02:00
nilsandClaude Sonnet 5.5 cf07aaf8fb Real-image posters: a new size is a new image id, never a changed placement
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-21 00:29:16 +02:00
nilsandClaude Sonnet 5.5 9edd62634f Posters: re-place after a resize, measure cell size without padding, log failed posters
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-21 00:14:50 +02:00
nilsandClaude Sonnet 5.5 26e1679e4e Config view: Test connections below the service settings; hide a stale cursor
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 23:59:02 +02:00
nilsandClaude Sonnet 5.5 ff9e59a310 Remove the '?' help key from the docs and help: F9 is the help key
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 23:42:07 +02:00
nilsandClaude Sonnet 5.5 79b440f6f7 Help screen: wrap descriptions under themselves, size to the terminal
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 23:40:25 +02:00
nilsandClaude Sonnet 5.5 394e78ec6a Swap the Config and Log views (F6 Config, F7 Log)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 23:37:17 +02:00
nilsandClaude Sonnet 5.5 fbf33e076b Status bar: advertise F9 for help, which works everywhere
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 23:35:36 +02:00
nilsandClaude Sonnet 5.5 a4ec9ad71e Add the Config view: edit and save the settings, applied without a restart
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 23:31:13 +02:00
nilsandClaude Sonnet 5.5 108541af91 Show posters as real images in kitty and Ghostty (Kitty graphics with Unicode placeholders)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 23:03:29 +02:00
nilsandClaude Sonnet 5.5 37f86aaf75 Revert the scrolling calendar: back to moving the two-week window with [ and ]
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 22:49:12 +02:00
nilsandClaude Sonnet 5.5 938980f1e1 Calendar: one scrolling list that loads more days at either end
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 22:47:51 +02:00
nilsandClaude Sonnet 5.5 cd5786ba78 Add the calendar view (M10)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 22:39:39 +02:00
nilsandClaude Sonnet 5.5 7582504268 Remove titles from the library with a confirmation (M10)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 22:36:19 +02:00
nilsandClaude Sonnet 5.5 ebbb3cd178 Announce finished and failed downloads in the background (M10)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 22:34:55 +02:00
nilsandClaude Sonnet 5.5 b4fe931fa9 Detail panes: poster top right, title and facts left, plot below; sextant rendering
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 21:57:22 +02:00
nilsandClaude Sonnet 5.5 a4303ed3ca Show poster thumbnails in the detail panes
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 21:47:50 +02:00
nilsandClaude Sonnet 5.5 ff204655d3 Swap the Library and Downloads views (F3 Library, F4 Downloads)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 21:44:05 +02:00
nilsandClaude Sonnet 5.5 cd4e3b8841 Remove digit view shortcuts; check all services at startup and every 30s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 20:58:18 +02:00
nilsandClaude Sonnet 5.5 8a357f7418 Filter dialog: only offer options that yield results
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 20:48:57 +02:00
nilsandClaude Sonnet 5.5 6b780242c9 Filter by audio format; apply filter changes live behind the dialog
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 20:36:26 +02:00
nilsandClaude Sonnet 5.5 b34f88ef3e Library: filter by file properties (quality, codec, HDR, DV, language)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 20:22:06 +02:00
nilsandClaude Sonnet 5.5 5195edc3b2 Show movies and series side by side in the library view
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 20:04:13 +02:00
nilsandClaude Sonnet 5.5 6668f91e7a F1-F5 leave full-screen views; dialogs still block them
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 19:57:05 +02:00
nilsandClaude Sonnet 5.5 2dfd018284 Arrow-key navigation in the add dialog
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 19:52:04 +02:00
nilsandClaude Sonnet 5.5 354279ab55 Add popup notifications, log view (F5) and context-sensitive key hints (M9)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 19:48:04 +02:00
nilsandClaude Sonnet 5.5 61373bbe45 Add library view and series drill-down (M8)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 19:31:12 +02:00
nilsandClaude Sonnet 5.5 a469eca871 Remove Alt+digit view shortcuts; views switch only via F1-F4
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 19:24:35 +02:00
nilsandClaude Sonnet 5.5 093fe53291 Tab cycles panels within a view; views switch only via F1-F4/Alt+digit
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 19:22:24 +02:00
nilsandClaude Sonnet 5.5 3f6e595719 Add help screen, connection indicators, README and release builds (M7)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 19:11:07 +02:00
nilsandClaude Sonnet 5.5 f928427993 Add interactive release search (M6)
Release listing and grab in the shared arr client, a full-screen release
list (sort, hide rejected, rejection reasons, confirmation before grabbing
rejected releases; Usenet only), and a season/episode picker for Sonarr.
Overlays are now a stack so dialogs can open above the release list.
Add a fake Newznab indexer to the dev setup.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 18:09:19 +02:00
nilsandClaude Sonnet 5.5 446cbdd6c5 Show Radarr and Sonarr queues in the Downloads view (M5)
Add queue listing and removal/blocklisting to the shared arr client.
The Downloads view now fetches SABnzbd and both arr queues in parallel,
shows status, progress and import problems, flags items needing
attention in the summary, and supports removing or blocklisting items.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 18:03:16 +02:00
nilsandClaude Sonnet 5.5 aeeb2c5f50 Add SABnzbd client and Downloads view (M4)
SABnzbd client (queue, history, pause/resume, delete, retry) with lenient
number decoding and API-key-safe errors. Downloads view polls while
visible, shows queue and history, and supports pause, delete (with
confirmation) and retry. Add dev/ with pinned Radarr/Sonarr/SABnzbd
containers wired together for manual testing.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 17:58:32 +02:00
nilsandClaude Sonnet 5.5 2dd7c17737 Add Sonarr client and series search/add flow (M3)
Sonarr client with lookup, add series (monitor modes) and search.
Refactor the movie view into a generic search view driven by a backend
interface so Movies and Series share one implementation.
Add F1-F4 / Alt+1-4 view switching that works while typing.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 17:49:11 +02:00
nilsandClaude Sonnet 5.5 51fb0556b0 Add movie search and add flow (M2)
Movies view with debounced Radarr lookup, detail pane, and an add dialog
(quality profile, root folder, monitored, search now). Global shortcuts
are suspended while typing or in a dialog.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 17:42:26 +02:00
nilsandClaude Sonnet 5.5 9f05523c02 Initial project skeleton (M0)
Add SPECS.md, JSON config loader with env overrides and validation,
and an empty tview shell with tabs and status bar.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 17:38:15 +02:00