Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: [DE] Anhang versenden per Rechtsklick  (Read 6970 times)

Offline wodga

  • User
  • Posts: 191
[DE] Anhang versenden per Rechtsklick
« on: 2014/10/07, 23:22:51 »
Ich möchte aus dolphin (kde) heraus per Rechtsklick eine oder mehrere Dateien mit icedove versenden.

Mein Skript sieht so aus: http://pastebin.com/L9uz82br

Es funktioniert leider nur mit einer Datei. Wie übernimmt das skript auch mehrere Dateien?

64bit, intel i5, GeForce GTX 650 Ti

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
Re: Anhang versenden per Rechtsklick
« Reply #1 on: 2014/10/08, 07:09:10 »
Hi wodga,
Probier mal statt %F %N.

Offline wodga

  • User
  • Posts: 191
Re: Anhang versenden per Rechtsklick
« Reply #2 on: 2014/10/15, 15:05:44 »
Leider funktioniert %N genausowenig.
64bit, intel i5, GeForce GTX 650 Ti

Offline der_bud

  • User
  • Posts: 1.072
  • member
Re: Anhang versenden per Rechtsklick
« Reply #3 on: 2014/10/15, 16:31:33 »
Ohne das ich jetzt verstehe was horo da macht :o, aber hilft dir vielleicht das studieren des Posts Sending images from shotwell to icedove ?
Du lachst? Wieso lachst du? Das ist doch oft so, Leute lachen erst und dann sind sie tot.

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
Re: Anhang versenden per Rechtsklick
« Reply #4 on: 2014/10/15, 17:15:59 »
@wodga: funktioniert der Aufruf von der Kommandozeile aus mit mehreren Anhängen?

EDIT: das habe ich noch im Netz zum Thema gefunden, vielleicht hilft es weiter http://www.kbrandt.com/2008/05/quick-tip-tunderbird-email-from-command.html
« Last Edit: 2014/10/15, 17:27:46 by bluelupo »

Offline wodga

  • User
  • Posts: 191
Re: Anhang versenden per Rechtsklick
« Reply #5 on: 2014/10/15, 17:37:58 »
@bluelupo

hab jetzt nochmals gegoogelt und folgenden Befehl ausgegraben:
Exec=icedove -compose "attachment='$(echo %F | sed 's/\\ \\//,\\/\\//g')'"

Funktioniert! Nur leider kenne ich mich zu wenig aus um diese ganzen slashes und backslashes zu verstehen ...
64bit, intel i5, GeForce GTX 650 Ti

Offline horo

  • User
  • Posts: 199
Re: Anhang versenden per Rechtsklick
« Reply #6 on: 2014/10/15, 21:08:48 »
@bluelupo

hab jetzt nochmals gegoogelt und folgenden Befehl ausgegraben:
Exec=icedove -compose "attachment='$(echo %F | sed 's/\\ \\//,\\/\\//g')'"

Funktioniert! Nur leider kenne ich mich zu wenig aus um diese ganzen slashes und backslashes zu verstehen ...

Hi wodga,

sieht komplizierter aus als es ist, KDE liefert in %F einen String
Code: [Select]
"/pfad1/datei1 /pfad2/datei2 /pfad3/datei mit leerzeichen3" und icedove wird in dieser Form aufgerufen:
Code: [Select]
icedove -compose "attachment='/pfad1/datei1,/pfad2/datei2,/pfad3/datei mit leerzeichen3'"Der Streameditor sed wandelt dabei " /" in ",/" um. Da aber Slash und Space spezielle Bedeutungen haben, müssen sie per Backslash maskiert (escaped) werden - und da das ganze durch die Shell geschleust wird, die den Backslash auch gesondert behandelt, muss der Backslash auch nochmal "escaped" werden, daher die doppelten \\
Dein Code hat übrigens am Ende ein  "\\/" zuviel, also statt
Code: [Select]
Exec=icedove -compose "attachment='$(echo %F | sed 's/\\ \\//,\\/\\//g')'"das sowas erzeugt 
Code: [Select]
"/pfad1/datei1,//pfad2/datei2,//pfad3/datei mit leerzeichen3"ist es so korrekt:
Code: [Select]
Exec=icedove -compose "attachment='$(echo %F | sed 's/\\ \\//,\\//g')'"
Ciao, Martin

P.S.: Man kann sich die Sache natürlich auch einfacher machen, indem man statt des Delimiters "/" fürs Ersetzen ein anderes Zeichen nimmt, z.B. ":". Von perl kannte ich's, ist aber auch bei sed möglich.
Code: [Select]
Exec=icedove -compose "attachment='$(echo %F | sed 's: /:,/:g')'"
siehe auch: http://en.wikipedia.org/wiki/Leaning_toothpick_syndrome
« Last Edit: 2014/10/16, 11:29:10 by horo »
omnia vincit pecunia :(

Offline wodga

  • User
  • Posts: 191
Re: Anhang versenden per Rechtsklick
« Reply #7 on: 2014/10/16, 10:27:39 »
Danke für die Ausführungen! Werd ich mal in Ruhe studieren :-)
64bit, intel i5, GeForce GTX 650 Ti