[[Vorlage(Archiviert)]] [[Vorlage(Getestet, gutsy)]] {{{#!vorlage Wissen [:Editor: Einen Editor öffnen] [:Rechte: Rechte für Dateien und Ordner ändern] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(1)]] [:KDE:] bietet viele Möglichkeiten, die vielen Tasten an Multimedia-Tastaturen und Mäusen auszunutzen. Zwar bringen einige Programme bereits native Unterstützung für diese Tasten mit (so z.B. [:Amarok:]), jedoch müssen diese erst konfiguriert werden. Außerdem funktionieren Multimedia-Tasten meistens nur dann, wenn das Programm, welches angesprochen werden soll, auch gerade den Fokus hat. Wer viel am Rechner sitzt und MP3s oder Filme nebenbei hört bzw. schaut, der ist vielleicht eher daran interessiert, die Tasten aus jedem Kontext heraus verwenden zu können. Das folgende Skript soll Abhilfe schaffen. = Skript erstellen = Zuerst speichert man das untenstehende Skript mit einem Editor mit Root-Rechten [1] und speichert es am besten unter '''/usr/local/bin/''' mit dem Namen '''kdemedia'''. Dann muss es noch ausführbar gemacht werden [2]. Es arbeitet zusammen mit den KDE-Programmen [:Amarok:], [:Kaffeine:], KsCD und Noatun. {{{#!/bin/bash # (c) 2006 by Julian Fleischer aka Warhog # License: GPLv2 (or -at your option- any later version), see www.gnu.org for further details app="none" for i in "amarokapp" "kaffeine" "noatun" "kscd" do if [ -n "`ps -U $UID | grep $i`" ] then app=$i fi done if [ "$app" = "none" ] then echo "no kdemedia running"; exit fi if [ "$app" = "amarokapp" ] then app="amarok" fi case $1 in "") echo "$app" ;; "-h"|"--help") echo "KDE Media Control" echo " usage: kdemedia [command]" echo " if [command] is ommitted, the currently addressed application will be printed" echo " Commands:" echo " play" echo " pause" echo " playpause (pp)" echo " stop" echo " next (forward)" echo " prev (previous, back)" ;; "play") case $app in "kaffeine") dcop kaffeine KaffeineIface play ;; "amarok") dcop amarok player play ;; "noatun") dcop noatun Noatun play ;; "kscd") dcop kscd CDPlayer play ;; esac ;; "stop") case $app in "kaffeine") dcop kaffeine KaffeineIface stop ;; "amarok") dcop amarok player stop ;; "noatun") dcop noatun Noatun stop ;; "kscd") dcop kscd CDPlayer stop ;; esac ;; "pause") case $app in "kaffeine") dcop kaffeine KaffeineIface pause ;; "amarok") dcop amarok player pause ;; "noatun") dcop noatun Noatun playpause ;; "kscd") dcop kscd CDPlayer stop ;; esac ;; "playpause"|"pp") case $app in "kaffeine") if [ "`dcop kaffeine KaffeineIface isPlaying`" = "true" ] then dcop kaffeine KaffeineIface pause else dcop kaffeine KaffeineIface play fi ;; "amarok") dcop amarok player playPause ;; "noatun") dcop noatun Noatun playpause ;; "kscd") if [ "`dcop kscd CDPlayer playing`" = "true" ] then dcop kscd CDPlayer stop else dcop kscd CDPlayer play fi ;; esac ;; "next"|"forward") case $app in "kaffeine") dcop kaffeine KaffeineIface next ;; "amarok") dcop amarok player next ;; "noatun") dcop noatun Noatun forward ;; "kscd") dcop kscd CDPlayer next ;; esac ;; "prev"|"previous"|"back") case $app in "kaffeine") dcop kaffeine KaffeineIface previous ;; "amarok") dcop amarok player prev ;; "noatun") dcop noatun Noatun back ;; "kscd") dcop kscd CDPlayer previous ;; esac ;; "quit") case $app in "kaffeine") dcop kaffeine KaffeineIface quit ;; "amarok") dcop amarok MainApplication-Interface quit ;; "noatun") dcop noatun MainApplication-Interface quit ;; "kscd") dcop kscd MainApplication-Interface quit ;; esac ;; esac }}} = Tastenkürzel einrichten = In Verbindung mit dem KDE-Gesten-Manager kann dieses Skript wahre Wunder bewirken. Dazu konfiguriert man es im Kontrollzentrum (kcontrol) unter * ''"Regionaleinstellungen und Zugangshilfen -> Tastenkombinationen"'' Hier einfach eine neue Gruppe erstellen (unten) und z.B. "Multimedia-Tasten" nennen (oben rechts unter ''"Name der Aktionsgruppe"''). Dann muss für jede Multimedia-Taste eine Aktion erstellt werden (''"Neue Aktion"'', unten), für die ein Auslöser und ein aufzurufender Befehl definiert werden müssen. Hierfür einfach oben rechts auf den Reiter ''"Auslöser"'' klicken und rechts im Button-Menu ''"Neu"'' die Option ''"Kurzbefehl-Auslöser"'' auswählen. Jetzt kann man eine Multimedia-Taste auswählen (in das weiße Feld klicken und die entsprechende Taste drücken) und schon ist der Auslöser definiert. Nun auf den Reiter ''"Aktionen"'' (rechts neben Auslöser) klicken und im Button-Menü ''"Neu"'' die Option ''"Befehl/Adresse"'' auswählen. Hier muss für die verschiedenen Multimedia-Tasten ein entsprechender Befehl angegeben werden: || '''Aktion''' || '''Befehl''' || || Wiedergabe || ``kdemedia play`` || || Pause || ``kdemedia pause`` || || Kombinierte Wiedergabe/Pause-Taste || ``kdemedia playpause`` || || Stop || ``kdemedia stop`` || || Nächster/voriger Titel || ``kdemedia next`` bzw. ``kdemedia prev`` || Jetzt den Gesten-Manager durch einen Klick auf ''"OK"'' beenden. = Das Skript benutzen = Wenn jetzt eine der Anwendungen geöffnet ist, kann man diese über die Multimedia-Tasten steuern. Wenn mehrere der oben genannten Anwendungen geöffnet sind, wird zunächst KsCD, dann Noatun, dann Kaffeine und zu guter Letzt Amarok angesprochen. Das bedeutet, dass bei gleichzeitig geöffnetem Amarok und Kaffeine die Multimedia-Tasten Kaffeine steuern, wenn nur Amarok offen ist dann Amarok. Wenn man in einem Terminal [3] einfach nur {{{#!vorlage Befehl kdemedia }}} ohne Argumente angibt, kann man sehen, welche Anwendung gerade angesprochen wird. Durch Befehl {{{#!vorlage Befehl kdemedia quit }}} kann die gerade anzusprechende Anwendung beendet werden. {{{#!vorlage Experten Die Reihenfolge, in der die Programme angesprochen werden, kann geändert werden, indem man diese in der folgenden Zeile ändert: {{{for i in "amarokapp" "kaffeine" "noatun" "kscd" }}} }}} # tag: KDE, Shell