这是交易:我使用 lastfm 包来收听我的 Last.FM (duh)...并且我想在新音乐开始时显示一些 notify-osd 通知。
只要程序不支持它,我就想创建一个 shell 脚本来监控 lastfm 播放器的窗口标题,并在它发生变化时发送通知。
你怎么看?我该如何开始?
这是交易:我使用 lastfm 包来收听我的 Last.FM (duh)...并且我想在新音乐开始时显示一些 notify-osd 通知。
只要程序不支持它,我就想创建一个 shell 脚本来监控 lastfm 播放器的窗口标题,并在它发生变化时发送通知。
你怎么看?我该如何开始?
您可以使用wmctrl检查打开窗口的标题:
但是,使用这种方法观看标题需要脚本定期轮询更改,这将是混乱且低效的。
更聪明的方法是等待 Last.fm 播放器生成的某种事件。D-Bus 接口或类似的 API 将是理想的,但我没有看到任何文档表明存在。作为次佳选择,您可以尝试查看终端输出以获取有关玩家正在做什么的信息:
它仍然是一个丑陋的黑客,但它完成了工作。
您为 list.fm 使用哪个播放器。许多应用程序使用 dbus 来通知事件。您需要在脚本中捕获它们。
像下面的页面有一个关于如何使用捕捉 Rhythmbox 歌曲变化的例子。
使用 dbus 跟踪 Rhythmbox 音轨变化