Logo

XMMS und KDE

Hier geht's darum, wie XMMS etwas besser mit dem Dateimanager von KDE, namentlich Konqueror, verheiratet werden kann.
Da folgendes nicht unbedingt auf alle Linuxdistributionen zutreffen muss, sag ich gleich: Ich hab nur und ausschließlich unter Gentoo getestet.
Das Default-Verhalten ist wie folgt:
  • Wenn man XMMS nur eine Instanz erlaubt, so ersetzt ein Klick auf eine Musikdatei die Playlist.
  • Erlaubt man mehr als eine Instanz, so erzeugt jeder Klick eine neue.
Was mir aber lieb wäre ist:
  • Das Klicken auf eine Musikdatei fügt diese der Playlist hintan.
  • Es sind immer noch mehrer Instanzen erlaubt.
Das ist alles. Ans Werk!
Das Ziel läßt sich erreichen, wenn folgende zwei Kommandozeilenparameter des XMMS in Betracht gezogen werden.
-e, --enqueue       Don't clear the playlist.
-n, --session       Select XMMS session (Default: 0).
Wenn man diese nun in eine Kommandozeile wie dieser
xmms -e -n 0 some_file
nutzt, wird some_file der Playlist der ersten XMMS-Instanz hinzugefügt. Etwas ärgerlich ist nun, dass wenn keine Instanz von XMMS läuft, gar nichts passiert. Also müssen wir die erste Instanz manuell starten - oder folgendes kleine Skript verwenden:
#!/bin/sh
echo $#
if [ $# -ne 0 ]
then
  sessions=`ps | grep ' xmms$'`
  echo $sessions
  if [ "$sessions" = "" ]
  then
    xmms &
  fi
fi

while [ $# -ne 0 ]
do
  xmms -e -n 0 "$1"
  shift
done
Zunächst wird mittels ps überprüft ob überhaupt schon eine Instanz läuft. Wenn nicht, so wird genau das in die Wege geleitet.
Das Lehrzeichen vor xmms und das $ am Ende sorgen dafür, dass nur xmms Instanzen gezählt werden und nicht etwa der ps-Aufruf selbst, der bei einem einfachen grep 'xmms' auch gefunden werden würde. Zudem heißt dieses Skript auf meinem Rechner myxmms.sh , so dass auch dieses Skript gefunden werden würde. Und das wollen wir doch nicht, oder?
Was bleibt ist dieses Skript als Handler für die gewünschten Dateitypen zu registrieren. Dabei hilft und das KDE-Kontrollzentrum. Ich hab's für mp3 und mpegurl (für m3u) registriert. Es ist noch empfehlenswert die startup notification zu deaktivieren, da diese sonst zu vielen hüpfenden Icons führt.
Das war's Danke für's Lesen ;)