github dhonus/jellyfin-tui v1.5.2

7 hours ago

Got some new toys for you: Zen Mode and Auto Browse. Also, I gutted some older inner workings and now the UI doesn't freeze while fetching 2000 tracks. Not my fault king gizzard have 200 hours of bootlegs! 🦎🦎

What's changed

Zen Mode

by @iox in #218

Press z for a fullscreen now-playing view: includes cover art, synced lyrics, progress bar, some status info and nothing else. Esc or z to leave. Playback keys still work.

Auto-enter it after some idle minutes:

zen_mode_timeout_minutes: 5   # 0/omitted = off, fractional ok (0.5 works)
Screenshot 2026-07-13 at 22 38 36

Auto Browse

Scroll through artists/albums/playlists and have them open on their own once the selection rests, without pressing enter to preview each one. Focus stays on the list so you can keep scrolling. The new non-blocking fetch also makes it so that uncached pages don't freeze, so you can spam this thing all you want. I made sure it survives almost anything :))

auto_browse: true   # true = ~0.6s delay, false = off
auto_browse: 0  # a number sets the seconds (0 = instant)
ScreenRecording2026-07-13at22 09 47-ezgif com-video-to-gif-converter

Non-blocking fetches

As I said, opening an uncached artist/album/playlist no longer freezes everything while jellyfin serializes 3000 tracks one metadata field at a time. Fetches now run off the main thread with a spinner, and get cancelled the moment you move on to something else. Fast scrolling (auto_browse) is debounced so we don't choke and kill jellyfin. Been there...

Screenshot 2026-07-13 at 22 48 34

Sync progress

The status bar actually tells you what the sync is doing now instead of a vague spinning "Updating...". Also I made it run every 30 minutes instead of 10. It was overkill.

Screenshot 2026-07-13 at 22 46 36

More accurate lyric timing

mpv only coughs up its playback position about once a second, so synced lyrics used to lag behind. Now lyrics are better aligned in time, it's noticeably more accurate and feels better to look at.

Smaller stuff

  • Transcoding default is now aac@256. Jellyfin arbitrarily caps transcoded audio at 256kbps, so 320/mp3 was a lie I told you all. I wish I made the rules
  • Sleep timer steps are more sane now, 1 minute increment, then 5, then 10 and so on
  • Shuffle and repeat state now propagate to MPRIS properly
  • The currently playing artist/album shows in italic across the lists.

New Contributors

  • @iox made their first contribution in #218

Full Changelog: v1.5.1...v1.5.2

Don't miss a new jellyfin-tui release

NewReleases is sending notifications on new releases.