MarioJim / touchegg-music-client

Widget for music and volume control, connected to touchegg's daemon
GNU General Public License v3.0
1 stars 0 forks source link
cairo cpp17 dbus touchegg

Screenshot

touchegg-music-client

Lines of code Continuous Integration

Widget for music and volume control, connected to touchégg 's daemon.

How does it work?

The client connects to touchégg's daemon, and on every gesture update it asks every provider until one responds with a metadata struct, and then displays the information through different windows.

Metadata providers

The information displayed on the windows is sourced from different providers, there's currently only two providers:

Spotify Notifications Provider

It works by monitoring the notifications bus and parsing only the Spotify notifications. It supports showing the album icon but it currently doesn't support the playback status.

Spotify Signals Provider

It works by listening to Spotify's DBus signals emitted when a property changes (either Metadata or PlaybackStatus).

Windows

The program can show three different windows:

Volume window

This window is always displayed, it shows the current volume in the default PulseAudio sink.

Metadata window

If one of the providers returns a valid metadata struct, this window displays the song and artist's name, and if the provider supports it an icon representing the playback status also is displayed.

Album icon window

If the metadata struct has a valid album icon, this window displays it.

Dependencies

Besides installing and running touchégg:

Arch-based distros Debian-based distros
cairomm libcairomm-1.0-dev
glibmm libglibmm-2.4-dev
libpulse libpulse-dev

Installation

You can find the package in the AUR as touchegg-music-client

$ paru -S touchegg-music-client

Todo