可能这个问题已经在某处得到解答了,但我找不到。
情况:我在笔记本电脑上使用 Ubuntu 15.10。
我有一个辅助蓝牙扬声器系统,我在该系统上重定向一些输出(主要是音乐)。
我可以pactl
用
pactl -- set-sink-volume bluez_sink.00_18_91_65_D8_6D +5%
pactl -- set-sink-volume bluez_sink.00_18_91_65_D8_6D -5%
并将其与一些键盘快捷键关联起来,我可以像本地一样增加或减少它。
这可以正常工作,但是与主输出(内部音频卡)不同,使用此命令不会产生具有实际音量级别的通知。
那么,我怎样才能像 Ubuntu 那样生成带有变化图标和音量栏的通知呢?
我应该使用吗notify-send
?使用哪些参数?
它不应该是一个“正常”通知,因为当音量变化时它必须“粘”在那里并调整栏...
答案1
是的,应该是特别通知:
gdbus call --session --dest org.freedesktop.Notifications \
--object-path /org/freedesktop/Notifications \
--method org.freedesktop.Notifications.Notify \
'gnome-settings-daemon' \
0 \
'notification-audio-volume-medium' \
' ' \
'' \
[] \
"{'x-canonical-private-synchronous': <'volume'>, 'value': <24>}" \
1
通过观看发现
dbus-monitor
:method call time=1447796042.858910 sender=:1.11 -> destination=:1.96 serial=216 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=Notify string "gnome-settings-daemon" uint32 0 string "notification-audio-volume-medium" string " " string "" array [ ] array [ dict entry( string "x-canonical-private-synchronous" variant string "volume" ) dict entry( string "value" variant int32 48 ) ] int32 -1
然后使用以下命令编写我自己的调用:
gdbus
关注此帖子如何将 a{sv} 参数传递给 gdbus?- 或者如果你想要 Python,这篇解释得很好的文章:如何读取 dbus-monitor 输出?. 甚至有跟展示柜一样的声音通知。
可用的图标有:
find /usr/share/notify-osd/icons/hicolor/scalable/status/ -name "notification-audio-volume-*" -exec basename {} .svg \;
notification-audio-volume-low notification-audio-volume-off notification-audio-volume-medium notification-audio-volume-muted notification-audio-volume-high