Hallo, Am Wed, 17 Mar 2004, Hannes Vogelmann schrieb:
Am Die, 16 Mär 2004, schrieb David Haller:
Probier's mal hiermit:
==== ~/bin/pipewrap ==== [..] Perfekt! Genau dass, was ich wollte.
*bg*
Allerdings versteh ich es nicht ganz. Vielleicht habe ich auch ein etwas falsche Vorstellung von der Pipe-Funktion von mutt. Warum muss denn tatsächlich erst "manuell" die temporäre Datei erzeugt werden? Was produziert denn die muttsche pipe eigentlich? Muss ich mir das so vorstellen wie die shell-pipe, die die Standardausgabe auf die Standardeingabe umleitet?
Genau. Mutt macht praktisch ein "cat Anhang_oder_Mail | $programm".
Ich kann mir allerdings nicht so recht vorstellen, was das bei z.B. einer Bilddatei bedeutet.
Weil mutt eine "echte" Pipe zur Anwendung aufmacht hat man ein Problem wenn die Anwendung wie z.B. gimp und xnview eben Bilder nicht aus stdin lesen wollen. xv aber z.B. macht es, wenn man "-" als "Dateinamen" angibt: | xv - funktioniert aus mutt heraus, ebenso wie auf der Konsole mit 'cat $bilddatei | xv -'. Wie du ausprobieren kannst weigern sich aber gimp und xnview stdin zu lesen, und folgende Befehle ergeben nur ne Fehlermeldung: 'cat $bilddatei | gimp -' -> "invalid option", 'cat $bilddatei | gimp /dev/stdin' -> "/dev/stdin is not a regular file", 'cat $bilddatei | xnview -' -> "Can't open file " 'cat $bilddatei | xnview /dev/stdin' -> "Can't open file ". gimp und xnview oeffnen also nur "echte" Dateien, und deswegen braucht's den Wrapper, der eine temporaere Datei anlegt und diese "regular" Datei dann mit $programm oeffnet. Programmen wie xv, display, less, u.a., die eben generell (auch) aus ner Pipe lesen, kannst du eben auch aus mutt Bilder / Texte per pipe ueberreichen. Das alles liegt also nicht an mutt ;)
Funktioniert mit xv, xnview, gimp, kuickshow, ee zumindest solange diese nicht im Hintergrund gestartet werden und das rm dem Programm zuvorkommt. Mit dem gimp-wrapper kollidiert es also. Mit
In der Tat. Sehr nützlich das ganze. Auch außerhalb von mutt kann man diesen pipewrapper ja durchaus dazu benutzen um z.B. die Ausgabe von shell-Kommandos direkt in einem Editor zu öffnen. Eigentlich merkwürdig, dass so etwas nicht standardmäßig vorhanden ist. So eine "öffnen-mit-Funktion" gibt es doch sonst fast überall.
*g* Mutt ist halt ein Spezialist. Und ein 'gimp %s' in der mailcap funktioniert ja auch, d.h. mutt erzeugt die temporaere Datei. -dnh -- If you haven't got time to RTFM, you haven't got time to whine on this mailing list.