No description
- Rust 100%
- 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 |
||
|---|---|---|
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| PLAN.md | ||
| README.md | ||
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