Klickstart
deskTOPia: coolicon
…und nichts als Ärger
Was bei dieser Aktion geschieht, legt das linke untere Teilfenster des Konfigurationsmenüs eines Icons fest. Leider lauert hier eine böse Falle: Der Programmautor arbeitet mit Format-Strings, die die coolicon-Manpage erläutert.
Ein Eintrag der Form
#!/bin/shprogramm %p/%f
soll ein Programm starten und ihm als Argument den Pfad (%p) sowie den Dateinamen (%f) der fallengelassenen Datei übergeben. Das jedoch funktionierte im Test auf unterschiedlichen Systemen nicht. Wie Sie trotzdem in den Genuss von Drag&Drop kommen, zeigt folgende Anpassung des "X View"-Icons, wobei nicht xv, sondern display als Bildbetrachter zum Einsatz kommt. Der Eintrag
#!/bin/sh display "`sed s/file:// %A`"
sorgt dafür, dass display den korrekten Dateinamen übergeben bekommt. Bei der Variable %A handelt es sich um einen Verweis auf eine von coolbrowse angelegte temporäre Datei, die den Typ des gezogenen Objekts und den Pfadnamen enthält, z. B. file:/home/andi/pic0001.png. Der nichtinteraktive Zeileneditor sed liest diese Datei ein, löscht file: und gibt den verbliebenen Inhalt aus, also /home/andi/pic0001.png. Damit display diese Ausgabe als Argument übergeben bekommt und nicht den sed-Befehl selbst, muss dieser in "Backticks" stehen. Die umgebenden doppelten Anführungszeichen sorgen dafür, dass das Skript auch mit Dateinamen zurechtkommt, die Leerstellen enthalten. Achten Sie darauf, den Inhalt des Felds A prioritised comma separated list of MIME types : nicht zu löschen, da ein leeres Feld dazu führt, dass das Icon keine Drag&Drop-Aktionen mehr registriert. Nun öffnet sich bei einem Drop-Ereignis das Programm display mit der fallengelassenen Datei – wer mit mehreren auf einmal jonglieren will, muss das Skript modifizieren.
Für Screenshots auf Doppelklick kann import sorgen, das wie display zum ImageMagick-Paket gehört. Der Eintrag
#!/bin/sh import -window root /home/nutzername /screen$(date +%%d-%m-%Y_%H:%M).png
im Feld Script for double click: erstellt in Ihrem Home-Verzeichnis einen Screenshot, dessen Dateiname Datum und aktuelle Uhrzeit enthält. Beim zweiten % vor %d handelt es sich nicht um einen Tippfehler: Es verhindert, dass coolicon %d als Format-String für das aktuelle Verzeichnis missinterpretiert.
Natürlich brauchen Sie nicht für jede erdenkliche Anwendung ein Icon, sondern starten selten benutzte Programme über den Launcher, der Ihnen dafür ein Eingabefenster öffnet. Mit diesem Wissen gerüstet können Sie nun alle weiteren Anpassungen vornehmen und nach Herzenslust experimentieren.
Glossar
X-Terminal-Programm
Ein Eingabefenster für Kommandos. Ähnlich, wie Sie im Textmodus auf mehreren Konsolen arbeiten, können Sie unter X mehrere Terminal-Fenster öffnen. Beliebte Vertreter dieser Gattung sind rxvt, xterm und die etwas komfortableren Varianten aterm und eterm.
Format-Strings
Einfache Methode der Formatierung, die auch in einigen Programmiersprachen genutzt wird: Einer durch % gekennzeichneten Variable wird ein Wert zugewiesen. Die dem % nachfolgende Format-Spezifikation legt die Art der Variablen fest. So steht %s für einen String (also eine Zeichenkette beliebiger Länge).
Infos
[1] Andrea Müller: "Jungbrunnen aus Eis", LinuxUser 02/2003, S. 62 f.
[2] Joachim Moskalewski: "Desktop-File-Manager", LinuxUser 12/2000, S. 68, http://www.linux-user.de/ausgabe/2000/12/068-desktopia/desktopia.html
[3] Joachim Moskalewski: "Risc rocks", LinuxUser 07/2002, S. 68



