おそらく、この質問はどこかですでに回答されていますが、見つけることができませんでした。
状況:私は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
a {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