In der Standardinstallation des "tilling window managers" Notion sind die auf vielen Tastaturen vorhandenen Tasten für Volume-Up und -Down sowie Mute nicht konfiguriert. Da sich Notion umfangreich mit Hilfe von LUA anpassen lässt, kann diese Konfiguration schnell nachgeholt werden.
Die Konfigurationsdateien von Notion befinden sich unter /etc/X11/notion/. Die dort liegende Datei cfg_notion.lua wird zuerst nach ~/.notion/ kopiert. In dieser Datei werden anschließend die entsprechenden Keybindings für die Volume-Tasten eingetragen.
Wird PulseAudio auf dem System eingesetzt, kann die Lautstärke mit pactl kontrolliert werden. Es muss dann folgender Abschnitt am Ende der Datei ~/.notion/cfg_notion.lua eingefügt werden:
defbindings("WScreen", {
kpress("XF86AudioRaiseVolume", "ioncore.exec_on(_, 'pactl set-sink-volume @DEFAULT_SINK@ +3%')"),
kpress("XF86AudioLowerVolume", "ioncore.exec_on(_, 'pactl set-sink-volume @DEFAULT_SINK@ -3%')"),
kpress("XF86AudioMute", "ioncore.exec_on(_, 'pactl set-sink-mute @DEFAULT_SINK@ toggle')"),
})
Wird ALSA auf dem System einsetzt, kann die Lautstärke mit amixer gesetzt werden. Dann muss folgender Schnipsel in die oben genannte Datei eingetragen werden:
defbindings("WScreen", {
kpress("XF86AudioRaiseVolume", "ioncore.exec_on(_, 'amixer -q sset Master 3%+')"),
kpress("XF86AudioLowerVolume", "ioncore.exec_on(_, 'amixer -q sset Master 3%-')"),
kpress("XF86AudioMute", "ioncore.exec_on(_, 'amixer -q sset Master toggle')"),
})
(Zwar könnte man amixer auch auf Systemen einsetzen welche mit PulseAudio laufen, jedoch hat amixer einen Bug, der bei Mute zwar alle Kanäle abschaltet, beim anschließenden (Un)Mute aber nur Master wieder einschaltet. Die Lautsprecher bleiben dann also stumm, da die anderen Soundkanäle nicht wieder eingeschaltet worden sind.)
Nach einem Neustart von Notion (F12 + sitzung/neustart) funktionieren die Volume-Tasten dann wie vorgesehen.
Thinkpad freut sich mit mocp als Player:
kpress("XF86AudioLowerVolume","ioncore.exec_on(_, 'amixer sset Master 3%-')"),
kpress("XF86AudioRaiseVolume", "ioncore.exec_on(_, 'amixer sset Master 3%+')"),
kpress("XF86AudioMute", "ioncore.exec_on(_, 'amixer set Master toggle')"),
kpress("XF86AudioPrev","ioncore.exec_on(_, 'mocp -r')"),
kpress("XF86AudioStop","ioncore.exec_on(_, 'mocp -s')"),
kpress("XF86AudioPlay","ioncore.exec_on(_, 'mocp -G')"),
kpress("XF86AudioNext","ioncore.exec_on(_, 'mocp -f')"),