在运行 13.04 时,我使用 Audacious 作为音乐播放器,并设置了“桌面通知”插件,以便在曲目更改时显示当前曲目、专辑名称、艺术家姓名和专辑封面。这将以通知的形式出现在右上角,类似于使用 发送命令的情况notify-send
。但是,自从升级到 13.10 以来,通知已停止使用通知程序,而是弹出一个灰色框,背景中显示曲目详细信息,如下所示。
我不知道 Ubuntu 版本之间有什么变化(自从我升级到 13.10 以来一直如此,以前从未见过类似的事情)。
我尝试使用“歌曲更改”功能,将其notify-send "%T" "%a\n%b"
作为命令至少用于获取曲目详细信息(%T
是曲目标题、%a
是艺术家、%b
是专辑标题),但似乎根本没有任何方式显示专辑封面(专辑封面的文件路径未列为可能的变量,只有曲目的路径——尽管我将它们全部存储为/path/to/album/Folder.jpg
,但用于dirname
提取文件夹并添加“Folder.jpg”似乎不起作用。
我尝试的命令是notify-send "%T" "%a\n%b" -i "$(dirname %f)/Folder.jpg"
,但这不起作用。如果我在 shell 窗口中执行类似操作,但明确地用 代替,path/to/file.mp3
它%f
会起作用 - 我认为这是因为%f
变量的扩展方式;但各个部分周围的双引号和单引号的排列似乎都无法正常工作。
有什么方法可以恢复旧的行为,或者至少让新命令能够查找专辑封面?
编辑:从一点点测试来看,似乎通知框可能是由类似这样的方式生成的notify-send -t 0
- 零超时似乎默认发送这样的框(参见https://wiki.ubuntu.com/NotifyOSD#org.freedesktop.Notifications.Notify)。我不太清楚为什么从 13.10 开始会出现这种情况,但如果有人知道如何从 Audacious 中解决这个问题(无需更改源代码并重新编译),我很乐意听听;或者也许这更适合作为错误报告?
答案1
Audacious 的最新版本在通知中添加了“暂停”和“下一步”按钮。问题是,出于某种奇怪的原因,Unity 会将任何带有按钮的通知显示为消息框,就像您看到的那样。您可以在 Audacious 中更改设置以隐藏按钮并恢复旧的通知样式。转到文件 -> 首选项 -> 插件 -> 常规 -> 桌面通知 -> 首选项并取消选中“显示播放控件”选项。确保“始终显示通知”选项也未选中。