#桌面通知 #通知 #mpris #xdg #通知器 #小巧

app mpris-notifier

生成MPRIS状态变化(曲目变化)的XDG桌面通知

7个版本

0.1.7 2023年11月29日
0.1.5 2023年1月31日
0.1.4 2022年7月28日

#59 in 音频

每月 21次下载

MIT/Apache

215KB
782

mpris-notifier

简单版本:显示桌面通知以显示媒体/音乐曲目变化。

技术版本:轻量级依赖、高度可定制、用于🎵 🎹 MPRIS媒体状态变化 💿的XDG桌面通知生成器。

Screenshot of mpris-notifier being displayed with mako

mpris-notifier截图(cfg)在makocfg)中显示

特性

  • 轻量级依赖mpris-notifier 尽量保持较低的依赖面,其中每个依赖都在 Cargo.toml 中进行了文档化和论证。
  • 兼容性mpris-notifier 实现了 MPRIS2播放器规范 以及 XDG桌面通知规范,使其在媒体客户端和通知守护程序之间都具有高度的兼容性。
  • 可定制性mpris-notifier 的多数行为都可以进行定制,尤其是生成消息的格式。

mpris-notifier 特别适用于以下情况..

  • .. 你运行的是无头音乐客户端,或者不原生支持桌面通知的音乐客户端(与 spotifyd 一起使用效果极佳!)
  • .. 你经常在音乐客户端之间切换,或者同时运行多个音乐客户端,并希望获得一致的通知而无需额外配置(就像 sxhkd 允许你在多个DE之间重用热键配置一样)

安装

通过 Cargo 安装

cargo install mpris-notifier

从源代码安装,首先 安装Rust,然后运行

git clone github.com/l1na-forever/mpris-notifier
cd mpris-notifier
cargo install --path .

二进制版本可在发布页面找到。要安装二进制版本,只需将可执行文件复制到方便的位置(例如 /usr/local/bin~/.local/bin),然后运行即可!

使用方法

通常,将 mpris-notifier 添加到桌面环境的启动脚本中(例如您的 ~/.xprofile 或窗口管理器的配置文件)。在脚本中添加一行以运行 mpris-notifier

mpris-notifier &

首次运行时,在 ~/.config/mpris-notifier/config.toml 生成一个包含默认值的配置文件。自定义配置后,重新启动 mpris-notifier

pkill mpris-notifier; mpris-notifier &

配置键如下

  • subject_format:通知主题文本的格式字符串。
  • body_format:通知消息文本的格式字符串。
  • join_string:对于包含多个实体的字段(如“艺术家”),此选项确定用于连接字符串的字符。
  • enable_album_art:启用专辑艺术作品获取。启用后,如果艺术作品获取在截止日期内完成,则专辑艺术作品将出现在专辑艺术作品旁边。
  • album_art_deadline:必须在指定的毫秒数内完成专辑艺术作品获取,否则将发送不带艺术作品的通知。
  • commands:当生成通知时将运行的命令的可选列表。必须将命令作为命令序列列表提供,其中第一个项目是程序,后续项目是参数(例如,[['~/script.sh', '--my-argument']])。

subject_formatbody_format 可用的以下指定符

  • {专辑}
  • {艺术家}
  • {标题}
  • {曲目}

故障排除

mpris-notifier 启动失败

请确保您启动 mpris-notifier 的环境具有可用的会话 D-Bus。您可以通过在 mpris-notifier 的相同上下文中运行 dbus-monitor 来验证此点。

mpris-notifier 不发送通知

首先,通过在 mpris-notifier 的相同环境中发送通知来验证您的通知守护进程是否按预期工作。

notify-send test # or dunstify test

接下来,验证 MPRIS 播放器属性信号是否正在发出。监视会话 D-Bus 中的 MPRIS 信号,确保在曲目更改时记录行。

dbus-monitor | grep PlaybackStatus

如果上述两个步骤都成功,但 mpris-notifier 仍然不发送通知,请提交问题 🛠️ 🩹。

状态

mpris-notifier 对于我的目的已经基本完成,尽管我需要时会添加一些小功能。如果您想看到实现的功能增强(或希望贡献 🥺),请提交问题

许可证

版权所有 © 2022 Lina

在此特此授予任何获得此软件及其相关文档文件(以下简称“软件”)副本的任何人,在软件上无限制地进行处理的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许将软件提供给他人,以使其有权这样做,但受以下条件的约束

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些责任是基于合同、侵权或其他原因,以及与软件的使用或与之相关的任何活动。

依赖项

~5-15MB
~186K SLoC