Terminal-based radio player with TUI
Project description
Table of Contents
Features
- Fast, modern TUI radio player built with Textual
- Browse, search, and play thousands of internet radio stations
- Add and manage favorites
- Multiple color themes
- Volume control, pause/resume, and stop
- Minimal dependencies, easy to install
- Configurable and hackable
Installation
Linux
Arch Linux (AUR)
# With pacman
sudo pacman -S termr
# With yay
yay -S termr
# Or clone and build manually
git clone https://aur.archlinux.org/termr.git
cd termr
makepkg -si
Ubuntu/Debian
# Download and install
wget https://github.com/Hibbins/termr/releases/download/v1.2.0/termr_1.2.0-1_all.deb
sudo apt install ./termr_1.2.0-1_all.deb
From PyPI
pip install termr
From Source (Universal)
# Clone and install from source
git clone https://github.com/Hibbins/termr.git
cd termr
pip install .
# Or install directly from GitHub
pip install git+https://github.com/Hibbins/termr.git
Requirements
- VLC Media Player (with cvlc command)
Usage Guide
Main Functions
Browse Stations
Navigate the main list to discover and play radio stations from around the world.
Search
Press s to search for stations by name, genre, country, etc.
Favorites
Press f to add/remove the selected station to/from your favorites. Access your favorites from the main menu.
Themes
Switch between multiple color themes from the menu for the best TUI experience.
Keyboard Shortcuts
| Key | Action |
|---|---|
q |
Quit |
h |
Home |
s |
Search |
f |
Add/Remove Favorite |
+ / - |
Volume Up/Down |
p |
Pause/Resume |
x |
Stop |
r |
Refresh station list |
escape |
Back |
enter |
Play selected station |
Configuration
The application automatically creates configuration files in ~/.config/termr/:
favorites.json- Favorite stationssettings.json- Application settings
Settings
You can edit ~/.config/termr/settings.json:
{
"max_stations": 100,
"default_sort": "clickcount",
"auto_play": false,
"volume": 100,
"theme": "default",
"last_station": null,
"api_timeout": 10
}
Options
Volume
Default playback volume (0-200).
Theme
Choose your preferred color theme.
Max Stations
Set the maximum number of stations to load.
Default Sort
Choose how stations are sorted (e.g., by popularity).
API Timeout
Set the timeout for API requests.
Autoplay
If enabled, termr will automatically start playing the last played station on launch.
Troubleshooting
"VLC not found"
Install VLC according to the instructions above.
"Package not found"
Check that you are using the correct package manager for your system.
"Permission denied"
chmod +x termr
Enjoy listening!
If you like the project, consider starring it on GitHub or buying me a coffee!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file termr-1.2.0.tar.gz.
File metadata
- Download URL: termr-1.2.0.tar.gz
- Upload date:
- Size: 25.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a519040f23bcfd67907f6ec3c30a25ad12bc7cb3f6d79bc1f9b1a5f368867c1a
|
|
| MD5 |
5fc6e9aaeaa0daed3badc4a82de072e3
|
|
| BLAKE2b-256 |
4217884bb6c1476da33afefe66e3f66cf621bff6ef9a8aab26a4c85eb01881e5
|
File details
Details for the file termr-1.2.0-py3-none-any.whl.
File metadata
- Download URL: termr-1.2.0-py3-none-any.whl
- Upload date:
- Size: 21.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc8b5c1feba03b9ebe9c3420fe031ff06e3533a9d9a844a76280c1a9d9a00337
|
|
| MD5 |
9038dfeb3b12ff1cc794c1bea6d05ca6
|
|
| BLAKE2b-256 |
81695aefcffbada769fc045c1ebac76ae47b1bdd1989eb0a47f33c714c11edbc
|