beefcarver
d83a9ef03d
fix(mpris): keep the service importable without dbus-next
...
The stub dbus_property() returned a bare function, so the read/write
properties (@Volume.setter and friends) raised AttributeError at import
time. That made any host without dbus-next -- macOS, Windows, minimal
containers -- crash before the TUI could start, because app.py imports
this module unconditionally.
Replace the stub with a descriptor that supports .getter()/.setter(), and
give the service a short label for the status bar.
2026-10-30 18:42:50 -04:00
beefcarver
876057bf68
docs(readme): show demo gif without asciinema link
2026-10-30 15:27:26 +00:00
beefcarver
8393432f97
docs(readme): document Bandcamp track links
2026-10-30 15:12:37 +00:00
beefcarver
66729c7542
feat(stage): show Bandcamp link in ON AIR
2026-10-30 15:12:37 +00:00
beefcarver
8e1c0a64eb
feat(bandcamp): add Bandcamp track lookup
2026-10-30 15:12:36 +00:00
beefcarver
b2eab64d12
docs(readme): use autoplaying demo gif
2026-10-30 04:45:44 +00:00
beefcarver
5ca93e60fb
docs(readme): add asciicast demo near top
2026-10-30 04:40:12 +00:00
beefcarver
662fdf69f4
test(header): cover flush-right clock, date and volume block
2026-10-30 04:31:52 +00:00
beefcarver
59fc4dd7fd
fix(header): right-align clock, date and volume in the top bar
2026-10-30 04:31:51 +00:00
beefcarver
44cc36a470
docs(readme): document distro install path and demote NixOS to optional aside
2026-10-30 04:24:53 +00:00
beefcarver
3866f0277c
docs(readme): document installation, keybindings and features
2026-10-30 04:17:55 +00:00
beefcarver
8eb22ea52c
test: add test suite for player, api and widgets
2026-10-30 04:17:54 +00:00
beefcarver
237de2efe9
feat(tui): implement SomaFM terminal radio player
2026-10-30 04:17:53 +00:00
beefcarver
941e45a20f
chore(project): add repository scaffolding and build config
2026-10-30 04:17:48 +00:00