В GNOME 3 аудио уведомление об изменении похоже на это:
Я могу получить Caps Lock или значок Num Lock как она?
Для отображения уведомления как объем один в Gnome 3, можно использовать gdbus
(dbus-send
не будет работать, потому что это не может передать параметры функции типа a{sv}
(массив dict {string:variant}))
С gdbus
уведомление об объеме похоже на это:
gdbus call --session --dest 'org.gnome.Shell' --object-path '/org/gnome/Shell' --method 'org.gnome.Shell.ShowOSD' "{'icon': <'audio-volume-high-symbolic'>, 'label': <'Line-Out'>, 'level': <90>}"
Таким образом для чего-то как Numlock на уведомлении Вы использовали бы:
gdbus call --session --dest 'org.gnome.Shell' --object-path '/org/gnome/Shell' --method 'org.gnome.Shell.ShowOSD' "{'icon': <'input-dialpad-symbolic'>, 'label': <'Numlock On'>}"
Имена значка являются названиями файлов значков от знаковой темы, используемой без расширения. Темы значков расположены в /usr/share/icons/
или ~/.icons/
. Таким образом для /usr/share/icons/Adwaita/scalable/devices/input-dialpad-symbolic.svg
Вы использовали бы 'input-dialpad-symbolic'
. Можно также указать значок, он - полный путь как '/home/user/.icons/Icon-Theme-Name/devices/symbolic/input-dialpad-symbolic.svg'
если это не находится в используемой знаковой теме.
Путем я обнаружил, что это путем рассмотрения dbus вызовов при помощи dbus-monitor
. Когда я понизил объем, он распечатал это:
method call time=1563905341.664155 sender=:1.34 -> destination=:1.8 serial=149 path=/org/gnome/Shell; interface=org.gnome.Shell; member=ShowOSD
array [
dict entry(
string "icon"
variant string "audio-volume-high-symbolic"
)
dict entry(
string "label"
variant string "Line Out"
)
dict entry(
string "level"
variant int32 94
)
]
destination=:1.8
кажется, совпадает с org.gnome.Shell
так оба --dest ':1.8'
и --dest 'org.gnome.Shell'
работа.