Mpris
Library and CLI tool for interacting and monitoring media players exposing an mpris interface through dbus.
An alternative for playerctl that better integrates with astal.
Usage
You can browse the Mpris reference.
CLI
sh
astal-mpris --help
Library
js
import Mpris from "gi://AstalMpris"
const spotify = Mpris.Player.new("spotify")
if (spotify.available)
print(spotify.title)
py
from gi.repository import AstalMpris as Mpris
spotify = Mpris.Player.new("spotify")
if spotify.get_available():
print(spotify.get_title())
lua
local Mpris = require("lgi").require("AstalMpris")
local spotify = Mpris.Player.new("spotify")
if spotify.available then
print(spotify.title)
end
vala
// Not yet documented
Installation
- install dependencies
sh
sudo pacman -Syu meson vala gvfs json-glib gobject-introspection
sh
sudo dnf install meson vala valadoc gvfs json-glib-devel gobject-introspection-devel
sh
sudo apt install meson valac gvfs libjson-glib-dev gobject-introspection
- clone repo
sh
git clone https://github.com/aylur/astal.git
cd astal/lib/mpris
- install
sh
meson setup --prefix /usr build
meson install -C build
WARNING
In order for network cover art urls to be cached (spotify for example) make sure gvfs
is enabled.
nix
services.gvfs.enable = true;