Lautstärkebalken mit xosd
Das folgende Bash-Script erhöht bzw. verringert die (PCM) Lautstärke von alsa um 2dB mittels amixer, ermittelt die aktuelle Lautstärke (%) des linken Kanals (da der linke und der rechte Kanal in der Regel die gleiche Lautstärke haben, wird nur einer abgefragt...), und gibt dann per osd_cat einen Lautstärke Balken auf dem Bildschirm aus. amixer ist Bestandteil des Paketes alsa-utils und osd_cat ist Bestandteil des Paketes xosd.
#!/bin/bash case $1 in +) amixer set PCM 2dB+ ;; -) amixer set PCM 2dB- ;; *) exit ;; esac VOLUME=`amixer get PCM | sed -ne '/Front Left/s/.*\[\(.*\)%\].*/\1/p'` osd_cat --font -*-terminus-*-*-*-*-*-*-*-*-*-*-*-* --colour=Green --shadow 1 \ --pos bottom --align center --offset 80 --delay=1 -b percentage -P $VOLUME -T Volume
Wird das Script mit dem Parameter '+' aufgerufen wird die Lautstärke erhöht, ruft man es mit dem Parameter '-' auf, wird sie verringert.
Das Aussehen des Balkens wird über die Parameter mit denen osd_cat aufgerufen wird bestimmt. Die man page enthält eine Liste der Parameter.
Soll statt der PCM Lautstärke z.B. die Master Lautstärke verändert und angezeigt werden, kann das Script angepasst werden. Dazu muss in den amixer Aufrufen lediglich PCM durch Master ersetzt werden.
Für sich alleine ist das Script nicht besonders nützlich. Viele Tastaturen haben allerdings extra Tasten für die Lautstärke. Verknüpft man das Script mit diesen Tasten, kann man mit ihnen die Lautstärke verändern und erhält gleichzeitig eine optische "Rückmeldung". Man kann natürlich auch jede andere Taste / Tastenkombination verwenden. Wie man mit einer Taste / Tastenkombination eine Anwendung startet, wird z.B. auf der Hotkeys oder Keytouch Seite beschrieben.