Skip to content

Widget for music and volume control, connected to touchegg's daemon

License

Notifications You must be signed in to change notification settings

MarioJim/touchegg-music-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  • Display album icon
  • SpotifySignalsProvider listening to Spotify's PropertiesChanged signal
  • Configurable number of fingers/gesture direction
  • Configurable windows
  • Configurable providers priority
  • Configurable PulseAudio sink
  • Migrate to pangomm for text rendering
  • Migrate to cairomm
  • Migrate SpotifySignalsProvider's DBus connection to glibmm
  • Add a configuration file
  • Add new providers (chromium, vlc)

About

Widget for music and volume control, connected to touchegg's daemon

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published