Skip to content

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.

Installation

  1. install dependencies
sh
sudo pacman -Syu meson vala json-glib gobject-introspection
sh
sudo dnf install meson gcc valac json-glib-devel gobject-introspection-devel
sh
sudo apt install meson valac libjson-glib-dev gobject-introspection
  1. clone repo
sh
git clone https://github.com/aylur/astal.git
cd astal/lib/mpris
  1. install
sh
meson setup build
meson install -C build

TIP

Most distros recommend manual installs in /usr/local, which is what meson defaults to. If you want to install to /usr instead which most package managers do, set the prefix option:

sh
meson setup --prefix /usr build

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