← Columbia Foundry
kOMA logo

KDE Plasma 6 · Free & open source

kOMA Music Thing

A little music player with a lot inside. Play and skip from your panel, expand into rmpc to browse your library, and watch your music move with cava’s live sound graph.

I made kOMA Music Thing to keep music close at hand without giving up the power of a full music browser. Inspired by Omarchy, it brings MPD, rmpc, and cava together in a widget that feels at home in KDE Plasma.

What it can do

Play from the panel

See what’s playing, pause, and skip without leaving your desktop. Middle-click the panel icon to play or pause; scroll to skip tracks.

Browse with rmpc

Expand the popup into a real terminal running rmpc. Browse your music and build the queue, then collapse back to the mini player without losing your place.

Watch the sound

cava adds a dynamic sound graph inside the expanded player. The panel gets its own rmpc configuration, leaving your standalone settings and album art intact.

Get set up

The Setup panel walks you through installing MPD, rmpc, and cava, choosing your music folder, creating configurations, and scanning your library.

Keep your existing setup

Existing MPD and rmpc settings are preserved. The player also supports an already configured MPD server, including the server address used by rmpc.

Start when you need it

Start MPD from the widget when it is not running. If the widget started it, quitting rmpc stops it again; a server you started yourself is left running.

From a fresh install to your first song

Music Thing uses three tools: MPD plays your music, rmpc browses it, and cava draws the sound graph. The Qt 6 QMLTermWidget component puts rmpc inside the popup.

1. Install the tools

Open the widget’s gear button. On Arch-based systems, click the MPD, rmpc, and cava install buttons. The cava installer includes the embedded terminal. A terminal shows the package transaction and requests your password; close it when finished.

2. Choose and configure

Browse to your music folder, then click Configure MPD and Configure rmpc. New setups use local desktop audio. Existing configurations are kept, so you can also use a player you already configured.

3. Scan and listen

Click Start MPD and scan music, then Open music browser. A large library may take a little time to appear. Choose tracks in rmpc and start playback to see cava’s graph move.

Installing on other distributions

Automatic package installation currently supports Arch-based systems. Elsewhere, install the dependencies manually and use the same Setup panel for configuration. Commands below install MPD and cava; rmpc and the Qt 6 terminal may need a separate installation.

Debian and Ubuntu
sudo apt update
sudo apt install mpd cava

Package versions vary by release. Install rmpc from your repositories if available, or follow its official installation guide for a Linux release binary or a Rust build. The MPD manual covers Debian and Ubuntu installation.

Fedora
sudo dnf install mpd cava

Install rmpc from your enabled repositories if available, or use its official installation guide. Fedora maintains package information for MPD and cava.

Other Linux distributions

Install MPD and cava with your distribution’s package manager, then install rmpc using its upstream instructions. Music Thing requires Python 3.11 or newer and a systemd user session for starting local MPD.

Embedded terminal and sound graph

For rmpc inside the popup, install a Qt 6 build of QMLTermWidget; package names vary. A Qt 5 build does not provide the component Plasma 6 needs. Without that component, Music Thing offers to open rmpc in a separate terminal.

Install cava for the sound graph. The embedded player prepares a separate rmpc configuration with the visualizer; your standalone rmpc configuration is preserved. If the graph stays flat, start playback and check your desktop audio output.

MPD installed, but the Start button cannot find its user service

Some distributions provide a system service instead of an MPD user service. Check:

systemctl --user cat mpd.service

If there is no user unit, and you are creating a new local setup with the default configuration location, create ~/.config/systemd/user/mpd.service with the following contents. Keep an existing unit if one is present.

[Unit]
Description=Music Player Daemon for my desktop
After=sound.target

[Service]
Type=simple
ExecStart=/usr/bin/mpd --no-daemon %h/.config/mpd/mpd.conf

Then reload the user service definitions:

systemctl --user daemon-reload

Return to Setup to configure MPD and scan your music. You do not need to enable it at login. If a distribution-provided MPD server already runs on port 6600, use that existing server or decide which instance you want before starting another one. Music Thing does not stop system services or replace their settings.

I already have MPD or rmpc configured

Keep your existing setup. Music Thing reads MPD_HOST and MPD_PORT first, then the address in your rmpc configuration, then localhost:6600. Existing MPD and rmpc files are never overwritten by the setup buttons. For custom or remote servers, use the rmpc configuration guide.

Get kOMA Music Thing

Free, open source, and MIT licensed. The Music Thing source release is being prepared while its guided installer is tested. Explore the other kOMA projects on GitHub in the meantime.

Explore kOMA on GitHub →

Requires KDE Plasma 6, Python 3.11+, MPD, and rmpc. Install cava for the graph and Qt 6 QMLTermWidget for the embedded browser.