xmonadとPulseAudioを使ってキーボードで音量ミュートをトグルする方法

私はウィンドウマネージャにはxmonad,オーディオ管理にはPulseAudioを使っています.

ラップトップPCを使う時,時たまスピーカーで音楽を聞きたいことがありますが,普段は通知音などはミュートにしておかなければなりません.

そういう時,今まで私は,ミュートをトグルするために一々pavucontrolを起動して切り替えていました.

xmonadからPulseAudioを操作してミュートをトグルするスマートな方法がわからなかったためです.

xmonadでミュートキーを受け取る方法はわかる.PulseAudioを操作するCLIがpactlなのもわかる.しかし,現在再生に使っているソースのインデックスを取得する方法がわかりませんでした.

しかし,今日なんとなく調べ直してみたら,あっさり方法が見つかりました.

ヒント: デフォルトのソースは、コマンド内で @DEFAULT_SOURCE@ として参照できます。たとえば: $ pactl set-source-mute @DEFAULT_SOURCE@ toggle

PulseAudio/サンプル - ArchWiki

後はこれを実行するようにキーマップに追加するだけですね.私はXMonad.Util.EZConfigを使っているためキーマップはXMonad.Util.EZConfigを参考にします.

少なくとも今の環境のデスクトップPCではちゃんと動きました.

他の方はボリュームをxmobarに表示したりしていますが私はそこまで求めません.操作が出来れば良いです.

このエントリーをはてなブックマークに追加 fb-like g-plusone pocket