PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : sigkiller für mutt



Steve
18.08.03, 17:06
hi,

ich hab ein Kleines Sigkiller-Script geschrieben.

der Code


#!/usr/bin/perl -w

open(FH,"+<$ARGV[0]");
while(<FH>)
{
last if m/>\s+(\-+|\_+|\=+)\s+$/;
push(@tmp, $_);
}
truncate FH, 0;
seek FH,0,0;
print FH @tmp;
close(FH);


in der .muttrc sollte man dann noch die Editor-Zeile anpassen:

meine:


set editor="~/Mail/.mutt/scripts/sigkiller.pl %s && vim -c 'set nobackup' -c 'set tw=70 et' %s"


Steve

Trillian
18.08.03, 17:39
Was bewirkt das? :confused:

Steve
18.08.03, 17:42
die Signatur, die unter machen Nachrichten steht wird abgeschnitten.

z.B.


--
COMPUTERBILD 15/03: Premium-e-mail-Dienste im Test
--------------------------------------------------
1. GMX TopMail - Platz 1 und Testsieger!
2. GMX ProMail - Platz 2 und Preis-Qualitätssieger!
3. Arcor - 4. web.de - 5. T-Online - 6. freenet.de - 7. daybyday - 8. e-Post


wird automatisch entfernt.


Steve

taylor
18.08.03, 18:06
Funktioniert hier noch nicht. Ich kann leider kein Perl. Welche Info bräuchtest Du denn, um mir helfen zu können?

Ich nutze Mutt 1.5.4i und Vim 6.1.

Unklar ist mir, warum Du %s benutzt. In der Mutt Doku zu 'set editor' steht nichts davon, dass die Mail in einer Variable übergeben wird.

Mein bisheriger muttrc Eintrag sieht so aus:


set editor = "vim -c 'set tw=70 et ft=mail'"

Als Sig-Killer verwende ich ein Vim Makro, was aber nicht immer korrekt arbeitet.

Die Mail mit der ich teste, habe ich (gekürzt) angehängt.

Gruß,
Taylor

Steve
18.08.03, 18:33
hi,

du hast das Script ausführbar gemacht? Wenn ja, dann versuch mal eine einfache Textdatei zu erstellen, mit ein bischen text und dann irgendetwas als Signatur. (mit "--" abgetrennt.).
Dann führ mal das Script aus mit dem Namen deiner Datei, also "./sigkiller.pl test.txt". Sollte das nicht klappen, dann poste mal die Fehlermeldung. Andernfalls sollte das klappen, wenn du die Zeile änderst genau, wie ich auch meine genändert habe.

Zu dem %s: Naja ich glaube, das stand "damals" noch in der default .muttrc :)

Steve

taylor
18.08.03, 18:47
Hi Steve,

hab Dich im IRC leider kurz verpasst.

Ja, das Skript ist ausführbar und in ~/bin/sigkiller.pl.
In 'mail.txt' steht nicht mehr viel, nur ein wenig Text und die '-- ' abgetrennte Signatur.

Ein 'sigkiller.pl mail.txt' hat keinerlei Ausgabe, und mail.txt wird nicht verändert.

Perl ist Version 5.8.0, das System ist ein Sid.

Gruß,
Taylor

Trillian
18.08.03, 19:25
Original geschrieben von Steve
Signatur wird automatisch entfernt.

Mmmh, du guckst also nach "-- "? Dieselbe Funktionalität hat mutt doch schon eingebaut.

Steve
18.08.03, 20:19
Original geschrieben von Trillian
Mmmh, du guckst also nach "-- "? Dieselbe Funktionalität hat mutt doch schon eingebaut.

mmmh, kenne ich nicht. Aber ich gucke ja nicht nur nach -- ich guck auch nach den nicht-Standartdingern mit denen Web.de die Signatur abtrennt.

@ taylor

Perl ist bei mir auch 5.8, ich werde bei Gelegenheit mal wieder in den IRC kommen. Hast du das mit %s gemacht?
Ja klar da ist ein Fehler in dem, was ich geschrieben habe. Und zwar steht da ja immernoch ein ">" vor jeder Zeile, wenn du jemanden anders quotest. Das müsstest du dann auch noch davorschreiben.

Steve

PS das ist erst die erste Version von dem Script, es gibt aber noch ein paar Sachen die mir nich gefallen.

taylor
18.08.03, 21:39
Original geschrieben von Trillian
Mmmh, du guckst also nach "-- "? Dieselbe Funktionalität hat mutt doch schon eingebaut.
Das wäre mir auch neu. Als ich damals die Mutt Doku/Listen/FAQ durchsucht habe, wurde immer darauf verwiesen, daß man sowas doch mit einer Vim Function machen solle (so läuft's bei mir, aber wie gesagt... nicht ganz rund).

Hab ich was übersehen? Wäre ja echt toll, wenn's sowas schon gäbe.

taylor
18.08.03, 21:42
Original geschrieben von Steve
Hast du das mit %s gemacht?

Ja, ich hab Deine Version von "set editor" mal eingetragen, und mein Makro in der ~/.vimrc auskommentiert.


[quote][b]
Ja klar da ist ein Fehler in dem, was ich geschrieben habe. Und zwar steht da ja immernoch ein ">" vor jeder Zeile, wenn du jemanden anders quotest. Das müsstest du dann auch noch davorschreiben.

Wenn ich Dich richtig verstehe, übersteigt das bereits meine Perl/RegEx Kenntnisse :)


PS das ist erst die erste Version von dem Script, es gibt aber noch ein paar Sachen die mir nich gefallen.
Danke für Deine Mühe!

Gruß,
Taylor

Steve
29.08.03, 18:31
hi,

ich hab mal ne neue Version gemacht, die einige Probleme beseitigt.



#!/usr/bin/perl -w

open(FH,"+<$ARGV[0]");
$p = 1;
while(<FH>)
{
if ( $y )
{
$t = m/>/g;
if( $x > $t) { $p = 1; $y = 0;}
}
if(m/>\s+(\-+|\_+|\=+)\s+$/)
{
$p = 0;
$y = 1;
$x = m/>/g;
}
push(@tmp, $_) if( $p == 1);
}
truncate FH, 0;
seek FH,0,0;
print FH @tmp;
close(FH);



Steve

PS Übrigens geht das bei taylor jetzt auch :D