Skript in Kontextmenü im Konquerer einbinden (oder auch woanders)
![](https://seccdn.libravatar.org/avatar/c99138e4897316b9435eac8ae519f498.jpg?s=120&d=mm&r=g)
Hallo zusammen, zum korrekten Kopieren meiner MP3s auf meinen Stick benutze ich folgendes Skript: #!/bin/sh dest="$1" shift find "$@" -type f | sort | cpio -pduv --block-size=128 "$dest" Das funktioniert auch wunderbar. Leider ist meine Frau ein wenig konsolenscheu, möchte aber auch die MP3s in der richtigen Reihenfolge vom Stick aus hören. Meine Idee ist folgende: ich möchte im Kontextmenü des Koquerer einen Eintrag haben ähnlich dem "Kopieren nach", der das Verzeichnis mit Hilfe des Skripts in das gewählte Verzeichnis kopiert. Ist sowas möglich? Wenn ja, wie? URL wo's steht reicht mir. In dem Fall wäre ich auch mit einem einzelnen Verzeichnis zur Zeit vollauf zufrieden. Liebe Grüße Erik -- "Die Cigarre sei die Wonne der Grübler und das Glück der träumenden Architekten luftiger Bauten, sie solle den Müßiggänger unterhalten, Schmerzen vertreiben und einsame Gedanken begleiten." José Martí Erik P. Roderwald * Uhlenhoffweg 18 * 21129 Hamburg Telefon: +49 (0)40 8510 3150 * Fax: +49(0)40 8510 3148 http://www.zigarren-rollen.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
![](https://seccdn.libravatar.org/avatar/4f02dad6eada67e941cf65a0b2485c63.jpg?s=120&d=mm&r=g)
Hallo Am Freitag, 27. März 2009 schrieb Erik P. Roderwald: snip
Reihenfolge vom Stick aus hören. Meine Idee ist folgende: ich möchte im Kontextmenü des Koquerer einen Eintrag haben ähnlich dem "Kopieren nach", der das Verzeichnis mit Hilfe des Skripts in das gewählte Verzeichnis kopiert. Ist sowas möglich? Wenn ja, wie? URL wo's steht reicht mir. In dem Fall wäre ich auch mit einem einzelnen Verzeichnis zur Zeit vollauf zufrieden. Konqueror – Das Servicemenü (1) Einrichten Um einen eigenen Befehl im Kontextmenü zu verankern, braucht es eine Servicemenü-Datei. Diese Dateien tragen die Endung .desktop und liegen im Unterverzeichnis servicemenus des Konquerors, also zB /home/USER/.kde/share/apps/konqueror/servicemenus.
Als Beispiel dient ein Servicemenü, das Digitalkamerafotos verkleinert und für den E-Mail-Versand vorbereitet. Zeitgemäße Digitalkameras liefern Dateien, die für den Mailversand zu groß sind, da viele E-Mail-Fächer in der Größe beschränkt sind. Das Servicemenü soll deshalb von markierten Bildern eine verkleinerte Kopie erstellen. Mit einem Text-Editor wird ein neues Dokument erstellt. Zuoberst einer Servicemenü-Datei steht die Definition des Desktop Entry: [Desktop Entry] ServiceTypes=image/png,image/jpeg Actions=Bild_verkleinern Der erste Eintrag in der Desktop Entry-Sektion bestimmt die Dateitypen, die behandelt werden sollen, hier also Bilddateien im PNG- und JPG-Format. Es können beliebig viele Dateitypen deklariert werden, dabei darf jedoch zwischen Komma und der Typenbezeichnung kein Leerzeichen stehen. Ab KDE 3.2 können mit der Deklaration ServiceTypes=image/* alle Bilddaten angesprochen werden. In der zweiten Sektion ist die eigentlich Funktion definiert: [Desktop Action Bild_verkleinern] Name=Bild verkleinern. Icon=image Die Einleitung der Action-Sektion wiederholt den Namen, der unter Desktop Entry angegeben wurde. Der Eintrag Icon ist optional und gibt den Namen eines Symbols an, das im Kontextmenü vor dem Eintrag steht. Als nächstes folgt der Befehl, den das Servicemenü ausführen soll, hier die eigentliche Umwandlung in eine verkleinerte Kopie. Der passende Befehl ist das Programm convert aus zB dem ImageMagick-Paket. Dieses Grafikpaket ist bei einer Linux-Standardinstallation normalerweise enthalten. Der passende Eintrag für den Aufruf von convert wäre in diesem Fall mit Parametern, die eine Verkleinerung der Ausgangsdatei auf ein Viertel in eine neue Zieldatei bewirken: Exec=convert %u -resize 25% /dev/shm/%n Die Zeile Exec ruft das Programm convert auf und übergibt diesem die Variable %u. Folgende Variablen können übergeben werden Variablenname Bedeutung %u Einzelner Dateiname inklusive vollständigen Pfad %U Liste von Dateinamen inklusive vollständigem Pfad %n Dateiname (ohne Pfad) %N Liste von Dateinamen (ohne Pfad) Tabelle 1.2: Variablenname für Kontextmenü Konqueror [Desktop Entry] ServiceTypes=image/png,image/jpeg Actions=Bild_25%_verkleinern [Desktop Action Bild_verkleinern] Name=Bild_25%_verkleinern. Icon=image Exec=convert %u -resize 25% /dev/shm/%n Das Servicemenü ist einsatzbereit, sobald es im richtigen Verzeichnis gespeichert ist. Zur Überprüfung wird mit der rechten Maustaste auf eine Bilddatei geklickt. Im Menü erscheint die Option Bild verkleinern, bei KDE 3.2 unter Aktion | Bild verkleinern. Bei Bedarf kann mehr als eine Option in einem Servicemenü untergebracht werden. Dies zeigt das nächste Beispiel, das ein Bild wahlweise nach rechts oder links dreht. Begonnen wird dazu, wie beschrieben, mit einer Sektion Desktop Entry: [Desktop Entry] ServiceTypes=image/* Actions=rotate_right;rotate_left Die Dateien, für die der Eintrag gelten soll, sind hier mit der KDE-3.2-Syntax für alle Bilddateien ausgewählt - unter KDE 3.1 sollte die Anweisung image/jpeg lauten. Der Eintrag Actions hat diesmal zwei Optionen, getrennt durch ein Semikolon: Damit hat auch das Servicemenü zwei Optionen - einmal im, einmal gegen den Uhrzeigersinn drehen. Dementsprechend müssen auch zwei Desktop Action-Sektionen folgen: [Desktop Action rotate_right] Name=Bild nach rechts drehen Icon=image Exec=convert %u -rotate 90 %u [Desktop Action rotate_left] Name=Bild nach links drehen Icon=image Exec=convert %u -rotate 270 %u Mit Exec kann jede ausführbare Datei aufgerufen werden - auch selbst erstellte Shell-Skripte. Sollen mehrere Programmschritte ausgeführt werden, müssen diese in Anführungszeichen: Exec=/bin/sh -c "MEINE KOMMANDOS". (1) Quelle: easyLinux 10/2004 Hatte ich mir mal zusammen geschrieben -- Mit freundlichen Grüßen Matthias Müller (Benutzer #439779 im Linux-Counter http://counter.li.org) PS: Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten! Siehe auch: http://www.gnu.org/philosophy/no-word-attachments.de.html
participants (2)
-
Erik P. Roderwald
-
Matthias Müller