Dans GNOME 3, la notification de modification audio ressemble à ceci:
Est-ce que je peux avoir une icône de verrouillage des majuscules ou des verrous numériques?
Pour afficher une notification comme celle du volume 1 dans Gnome 3, vous pouvez utiliser gdbus
(dbus-send
ne fonctionnera pas car il ne peut pas transmettre de paramètres de fonction de type a{sv}
(array de dict {string: variant}))
Avec gdbus
, la notification de volume ressemble à ceci:
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>}"
Donc, pour quelque chose comme Numlock sur notification, vous utiliseriez:
gdbus call --session --dest 'org.gnome.Shell' --object-path '/org/gnome/Shell' --method 'org.gnome.Shell.ShowOSD' "{'icon': <'input-dialpad-symbolic'>, 'label': <'Numlock On'>}"
Les noms d'icônes sont les noms des fichiers d'icônes du thème d'icônes utilisé sans l'extension. Les thèmes des icônes se trouvent dans /usr/share/icons/
ou ~/.icons/
. Donc, pour le /usr/share/icons/Adwaita/scalable/devices/input-dialpad-symbolic.svg
, vous utiliseriez 'input-dialpad-symbolic'
. Vous pouvez également spécifier icon par son chemin complet, tel que '/home/user/.icons/Icon-Theme-Name/devices/symbolic/input-dialpad-symbolic.svg'
s'il ne figure pas dans le thème d'icônes utilisé.
La façon dont j'ai découvert cela est de regarder les appels Dbus en utilisant dbus-monitor
. Lorsque j'ai abaissé le volume, il a imprimé ceci:
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
semble être identique à org.gnome.Shell
de sorte que --dest ':1.8'
et --dest 'org.gnome.Shell'
fonctionnent.