ytm-player

v1.9.5

2026-06-28 · pip install ytm-player==1.9.5

New features

  • Unified Tab / Shift+Tab section navigationTab and Shift+Tab now move focus between sections (track tables, result panels, Browse tab labels, and any visible sidebar) consistently on every page, with j/k/arrows moving within the focused section and Enter activating it. Previously only the Search page worked this way; other pages ignored Tab or repurposed it. On Browse, Tab highlights a tab label and Enter opens it.
  • Vim-style pane focus navigation — keyboard users can now move focus between the Playlists sidebar, main content, and visible lyrics pane with Ctrl+w h, Ctrl+w l, and Ctrl+w w. The Playlists shortcut auto-shows the sidebar if it is hidden. Thanks @860windtree (#107, #108).

Changes

  • Queue track reorder moved off Tab — reordering the selected track now uses Shift+J / Shift+K (lowercase j/k move the cursor, as on every other page). It honours a count prefix, so 15 J moves the selected track down 15 positions in one step. This frees Tab / Shift+Tab on the Queue page for section navigation.
  • playerctl / media keys / now-playing work out of the box on Linux — the dbus-fast library that MPRIS needs now ships by default on Linux instead of behind an optional [mpris] extra, so a standard pip install ytm-player (or AUR / Nix install) exposes playerctl, hardware media keys, and desktop now-playing controls with no extra steps. ytm doctor reports MPRIS status and a one-time startup notice flags a broken or incomplete install, so the previous silent no-op can't recur. Thanks for the report @pironha2 (#110).

Diagnostics

  • Crash files self-identify, and ytm doctor flags stale crashes — every crash log now records the app version, time, Python, and platform it was written under, and ytm doctor warns when the most recent crash predates the installed version (or predates version stamping). A stale, already-fixed crash from an older build no longer reads as a live bug.