Probablement cette question a déjà été répondue quelque part, mais je ne pouvais pas la trouver.
La situation: je suis sur Ubuntu 15.10, sur un ordinateur portable.
J'ai un système de haut-parleurs Bluetooth secondaire sur lequel je redirige certaines sorties (principalement la musique).
Je peux contrôler le volume avec pactl
avec
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%
et ayant associé cela à certains raccourcis clavier, je peux l'augmenter et le diminuer comme s'il était local.
Cela fonctionne bien mais, contrairement à la sortie principale (la carte son interne), l’utilisation de cette commande ne génère pas de notification avec le niveau de volume réel.
Alors, comment puis-je produire la notification avec l'icône changeante et la barre du volume, comme le fait Ubuntu?
Devrais-je utiliser notify-send
? Avec quels paramètres?
Il ne devrait pas s'agir d'une notification "normale", car elle doit "rester" là lorsque le volume change et adapter la barre ...
Oui, cela devrait faire l'objet d'une notification spéciale:
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
Trouvé en regardant 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
Ensuite, écrivez mon propre appel en utilisant:
gdbus
après cet article Comment passer un {sv} arguments à gdbus?Les icônes disponibles sont:
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