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 --helpLibrary
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)
endvala
var spotify = AstalMpris.Player.new("spotify")
if (spotify.available) print(spotify.title);Installation
WARNING
In order for network cover art urls to be cached (spotify for example) make sure gvfs is enabled.
nix
services.gvfs.enable = true;install dependencies
shsudo pacman -Syu meson vala valadoc gvfs json-glib gobject-introspectionshsudo dnf install meson vala valadoc gvfs json-glib-devel gobject-introspection-develshsudo apt install meson valac valadoc gvfs libjson-glib-dev gobject-introspectionclone repo
shgit clone https://github.com/aylur/astal.git cd astal/lib/mprisinstall
shmeson setup build meson install -C build