No description
Find a file
Sarat Chandra a01f2cec2f feat(ui): improve home screen with multiple content sections
- Add HomeDisplayItem enum to support mixed content types on the home screen
- Implement load_home_content to fetch libraries, continue watching, next up, and recent items
- Add client methods for get_resume_items, get_next_up_items, and get_latest_items
- Update UI rendering to display section headers and handle mixed content lists
- Update navigation logic to skip section headers
- Replace simple library list with the new rich home screen layout
2026-01-05 13:41:59 +05:30
src feat(ui): improve home screen with multiple content sections 2026-01-05 13:41:59 +05:30
.gitignore feat: implement Jellyfin TUI client 2026-01-05 01:09:36 +05:30
Cargo.lock feat: implement Jellyfin TUI client 2026-01-05 01:09:36 +05:30
Cargo.toml feat: implement Jellyfin TUI client 2026-01-05 01:09:36 +05:30
PLAN.md feat: implement Jellyfin TUI client 2026-01-05 01:09:36 +05:30
README.md docs: add README 2026-01-05 01:14:05 +05:30

Jellytui

A terminal UI client for Jellyfin written in Rust.

Features

  • Browse libraries and navigate folders
  • Search across all media
  • Play with MPV (with playback sync)
  • Resume from last position
  • Download media files

Requirements

  • Rust 1.85+ (2024 edition)
  • MPV (for playback)
  • A Jellyfin server

Installation

cargo install --path .

Or build from source:

cargo build --release
./target/release/jellytui

Usage

jellytui

On first run, enter your Jellyfin server URL and credentials. Config is saved to ~/.config/jellytui/config.toml.

Keybindings

Key Action
j / Move down
k / Move up
Enter / l Open / Play
Esc / h Go back
/ or s Search
d Toggle downloads panel
D Download selected item
r Refresh
q Quit

Downloads

Files are saved to ~/Downloads/jellytui/.

Playback Sync

Playback position is synced to Jellyfin:

  • Resume from where you left off
  • Progress reported every 5 seconds
  • Auto-marks as played at 90%

License

MIT