LMS TUI is an application with a text-based user interface to remotely control LMS.
Features
- Basic player controls
- Access to the standard LMS menu
- Implemented as a stand-alone cross-platform application
Status
- beta quality
- only tested on Linux
- not tested with any streaming service
Know Issues
- support for the LMS menu is spotty
- cover image quality is low. There is experimental support for chafa (which you can try by installing chafa and setting
imagemode = chafa
in the config file), but this causes major redrawing issues.
Requirements
- A capable terminal (unicode, 256 colour etc.) (tested with kitty and rxvt-unicode). Kitty is recommended.
- One of the nerd fonts for the icons. The terminal needs to use this font (generally, or for at least the relevant unicode ranges (the
symbol_map
option in kitty, see below)) - (optional, experimental) chafa for better image quality
Installation
LMS TUI is implemented in Python and requires
- python 3
- python requests
- asciimatics (v1.11.0)
These packages may be available from your OS package management (dev-lang/python
, dev-python/requests
and dev-python/asciimatics
in e.g. Gentoo).
Or if you prefer, you can use pip
with a virtual environment (see here for an overview). Example:
python3 -m venv --system-site-packages ~/python-venv
source ~/python-venv/bin/activate
pip install requests
pip install asciimatics
In this case, remember to execute source ~/python-venv/bin/activate
once per session before running lmstui.py (or run it like this: ~/python-venv/bin/python3 ~/path/to/lmstui/src/lmstui.py
).
Download source distribution
The latest version is available here: LMStui-0.0.1.tar.gz. Download and extract anywhere. It should run without installing it (or you could try installing it with the included setup.py
(read this first if you are unfamiliar with setuptools)).
Example (adjust for version):
wget "https://www.nexus0.net/pub/sw/lmstui/dist/LMStui-0.0.1.tar.gz"
tar xf LMSmusly-0.0.1.tar.gz
cd LMSmusly-0.0.1/src/
./lmsmusly.py -h
Usage Instructions
- run
./lmstui.py -h
to get a list of options - LMS TUI reads it's configuration from a file (default
~/.config/lmstui.conf
), see the included sample inconfig/lmstui.conf.dist
for format and options - As a minimum, the LMS server needs to be specified
- press
F1
in the application to see the key bindings
Kitty configuration hint
If you do not want to generally use a nerd font in the terminal, you can map specific unicode ranges:
symbol_map U+23FB-U+23FE,U+2B58,U+E200-U+E2A9,U+E0A0-U+E0A3,U+E0B0-U+E0BF,U+E0C0-U+E0C8,U+E0CC-U+E0CF,U+E0D0-U+E0D2,U+E0D4,U+E700-U+E7C5,U+F000-U+F2E0,U+2665,U+26A1,U+F400-U+F4A8,U+F500-U+FD46,U+F67C,U+E000-U+E00A,U+F300-U+F313,U+E5FA-U+E62B,U+2460-U+2462 Hack Nerd Font Mono
License
GNU GPLv3