Вероятно, на этот вопрос уже ответили где-нибудь, но я не мог найти его.
Ситуация: Я нахожусь на 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
? С которыми параметрами?
Это не должно быть "нормальное" уведомление, потому что это должно "придерживаться" там, когда объем изменяется, и просто адаптируйте панель...
Да, это должно быть специальное уведомление:
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
после этого сообщения , Как передать {sv} аргументы gdbus? доступные Значки:
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