Hi,
kann man mutt irgendwie beibringen Mails mit viel zu langen Zeilen automatisch "wrappen" zu lassen? Ich brauche die nur im (eingebauten) Pager gewrappt, im Editor werden die ja schon ordentlich "gemacht".
Danke,
Hi Steffen,
* Steffen Liebergeld perl@gmx.org [2004-01-15 22:30]:
kann man mutt irgendwie beibringen Mails mit viel zu langen Zeilen automatisch "wrappen" zu lassen? Ich brauche die nur im (eingebauten) Pager gewrappt, im Editor werden die ja schon ordentlich "gemacht".
Aus der systemweiten Muttrc:
# set markers=yes
(oder auch "no", Geschmackssache..)
# Controls the display of wrapped lines in the internal pager. If set, # a ``+'' marker is displayed at the beginning of wrapped lines. Also # see the ``$smart_wrap'' variable.
# set smart_wrap=yes
das wird wohl das Gesuchte sein, ...
# Controls the display of lines longer than the screen width in the # internal pager. If set, long lines are wrapped at a word boundary. If # unset, lines are simply wrapped at the screen edge. Also see the # ``$markers'' variable.
... es sei denn, Du läßt mutt mit einer Zeilenbreite von 160 Zeichen laufen und willst, ihn den Text bei 70 für die Anzeige umbrechen lassen.
hilft hoffentlich was,
Stefan
* Stefan Moch stefan-ml@nine.netcorner.org [2004-01-15 22:49:28]:
Hi Steffen,
[old]
Aus der systemweiten Muttrc:
# set markers=yes
(oder auch "no", Geschmackssache..)
# Controls the display of wrapped lines in the internal pager. If set, # a ``+'' marker is displayed at the beginning of wrapped lines. Also # see the ``$smart_wrap'' variable.
# set smart_wrap=yes
das wird wohl das Gesuchte sein, ...
# Controls the display of lines longer than the screen width in the # internal pager. If set, long lines are wrapped at a word boundary. If # unset, lines are simply wrapped at the screen edge. Also see the # ``$markers'' variable.
... es sei denn, Du läßt mutt mit einer Zeilenbreite von 160 Zeichen laufen und willst, ihn den Text bei 70 für die Anzeige umbrechen lassen.
Ja genau das wollte ich ja haben. Bei der jetzigen Einstellung wrappt er nach >160 Zeichen == unlesbar. Hab dazu aber keine Option gefunden.
* Steffen Liebergeld perl@gmx.org [2004-01-16 08:06]:
- Stefan Moch stefan-ml@nine.netcorner.org [2004-01-15 22:49:28]:
# set smart_wrap=yes [...] ... es sei denn, Du läßt mutt mit einer Zeilenbreite von 160 Zeichen laufen und willst, ihn den Text bei 70 für die Anzeige umbrechen lassen.
Ja genau das wollte ich ja haben. Bei der jetzigen Einstellung wrappt er nach >160 Zeichen == unlesbar. Hab dazu aber keine Option gefunden.
Weshalb läßt Du mutt so breit anzeigen, wenn Du den Text doch nur in einer Breite haben willst, die normale Menschen gut lesen können?
Der einzige Grund, der mir einfiele wäre die Darstellung von extrem langen Subjects im Index einer Mailbox, aber ich weiß nicht, da reicht mir auch eine Fensterbreite von 80.
* Stefan Moch stefan-ml@nine.netcorner.org [2004-01-16 19:27:16]: [old]
Ja genau das wollte ich ja haben. Bei der jetzigen Einstellung wrappt er nach >160 Zeichen == unlesbar. Hab dazu aber keine Option gefunden.
Weshalb läßt Du mutt so breit anzeigen, wenn Du den Text doch nur in einer Breite haben willst, die normale Menschen gut lesen können?
Der einzige Grund, der mir einfiele wäre die Darstellung von extrem langen Subjects im Index einer Mailbox, aber ich weiß nicht, da reicht mir auch eine Fensterbreite von 80.
Eigentlich richtig. Nur nutze ich einen Windowmanager, welcher alle Fenster auf ganze Bildschirmfülle maximiert (ion). Auch beim Framebuffer von 1024x768 gibt es das Problem. Das einzige was mutt dazu anbietet ist wrapmargin, welches den Abstand vom rechten Rand angibt => ungeeignet, wenn ich mutt z.B. per ssh in einem xterm anderer Grösse aufrufe.
Eine andere Lösung wäre ein kleines Script was man zwischen Fetchmail und Mailbox schaltet, welches dann den Zeilenumbruch einfügt. Gibt es da eine Möglichkeit? Ich möchte nicht unbedingt erst die gesamte mbox Mailbox parsen müssen.
* Steffen Liebergeld perl@gmx.org [2004-01-16 21:49]:
Eigentlich richtig. Nur nutze ich einen Windowmanager, welcher alle Fenster auf ganze Bildschirmfülle maximiert (ion). Auch beim Framebuffer von 1024x768 gibt es das Problem. Das einzige was mutt dazu anbietet ist wrapmargin, welches den Abstand vom rechten Rand angibt => ungeeignet, wenn ich mutt z.B. per ssh in einem xterm anderer Grösse aufrufe.
Das erklärt natürlich das Problem. Lösungsansatz: es gibt die shell-variable $COLUMNS, damit läßt sich vielleicht die korrekte wrapmargin vor dem Aufruf von mutt berechnen.
Eine andere Lösung wäre ein kleines Script was man zwischen Fetchmail und Mailbox schaltet, welches dann den Zeilenumbruch einfügt. Gibt es da eine Möglichkeit? Ich möchte nicht unbedingt erst die gesamte mbox Mailbox parsen müssen.
Ich würd die Finger davon lassen, Nachrichteninhalte bei der Zustellung zu vermurksen, auch wenn das mit ner Spielerei in procmail und fmt (Textumformatierer) sicher machbar ist.
* Stefan Moch stefan-ml@nine.netcorner.org [2004-01-16 22:19:52]:
- Steffen Liebergeld perl@gmx.org [2004-01-16 21:49]:
Eigentlich richtig. Nur nutze ich einen Windowmanager, welcher alle Fenster auf ganze Bildschirmfülle maximiert (ion). Auch beim Framebuffer von 1024x768 gibt es das Problem. Das einzige was mutt dazu anbietet ist wrapmargin, welches den Abstand vom rechten Rand angibt => ungeeignet, wenn ich mutt z.B. per ssh in einem xterm anderer Grösse aufrufe.
Das erklärt natürlich das Problem. Lösungsansatz: es gibt die shell-variable $COLUMNS, damit läßt sich vielleicht die korrekte wrapmargin vor dem Aufruf von mutt berechnen.
Nö, die wird scheinbar gar nicht beachtet.
[Mail per Script verändern]
Ich würd die Finger davon lassen, Nachrichteninhalte bei der Zustellung zu vermurksen, auch wenn das mit ner Spielerei in procmail und fmt (Textumformatierer) sicher machbar ist.
* Steffen Liebergeld perl@gmx.org [2004-01-16 22:27]:
- Stefan Moch stefan-ml@nine.netcorner.org [2004-01-16 22:19:52]:
es gibt die shell-variable $COLUMNS, damit läßt sich vielleicht die korrekte wrapmargin vor dem Aufruf von mutt berechnen.
Nö, die wird scheinbar gar nicht beachtet.
Die zu verändern wird wohl nichts bringen, ich meinte auch eher folgendes:
Wenn $COLUMNS 80 ist dann ist die zu berechnende wrapmargin 0, wenn 160, dann sollten von rechts 80 platz sein. also immer $COLUMNS - 80 (allerdings unclever bei kleineren Fenstern --> negative Ergebnisse, siehe unten).
Ich stell es mir ungefähr so vor, als wrapper-shellscript für mutt:
############### muttrightwrapmargin=`echo $COLUMNS - 80 | bc` # oder 70, oder .. echo set wrapmargin=$muttrightwrapmargin > ~/mutt/wrapmargin mutt # die .muttrc sollte "source ~/mutt/wrapmargin" enthalten ###############
Das Ganze könnte man noch mit einer Abfrage für negative Ergebnisse würzen. (bzw. die Berechnung nur bei "zu großen" Terminalbreiten durchführen), aber mutt scheint keine probleme mit negativen Zahlen an der Stelle zu haben, hab es mit einer Mail mal live getestet (also in mutt mit ":set wrapmargin=-10"), da scheint er 0 anzunehmen.
Also von der Konsole klappt es mit den Befehlen, in der Shell-Datei ist $COLUMNS allerdigns scheinbar nicht vorhanden, hab so spontan keine Idee wie man das da reingibt, es sei denn das script würde über einen Alias aufgerufen werden, der $COLUMNS als Parameter übergibt und in dem Skript in der ersten Zeile dann halt $1 statt $COLUMNS.
So, genug gebastelt. Weiterer Weg ist klar?
* Stefan Moch stefan-ml@nine.netcorner.org [2004-01-16 23:26:04]:
Ich stell es mir ungefähr so vor, als wrapper-shellscript für mutt:
############### muttrightwrapmargin=`echo $COLUMNS - 80 | bc` # oder 70, oder .. echo set wrapmargin=$muttrightwrapmargin > ~/mutt/wrapmargin mutt # die .muttrc sollte "source ~/mutt/wrapmargin" enthalten ###############
Das Ganze könnte man noch mit einer Abfrage für negative Ergebnisse würzen. (bzw. die Berechnung nur bei "zu großen" Terminalbreiten durchführen), aber mutt scheint keine probleme mit negativen Zahlen an der Stelle zu haben, hab es mit einer Mail mal live getestet (also in mutt mit ":set wrapmargin=-10"), da scheint er 0 anzunehmen.
Genau.
Also von der Konsole klappt es mit den Befehlen, in der Shell-Datei ist $COLUMNS allerdigns scheinbar nicht vorhanden, hab so spontan keine Idee wie man das da reingibt, es sei denn das script würde über einen Alias aufgerufen werden, der $COLUMNS als Parameter übergibt und in dem Skript in der ersten Zeile dann halt $1 statt $COLUMNS.
So, genug gebastelt. Weiterer Weg ist klar?
Ja, ich hab den von dir geschriebenen Codesnippet ein bissel angeändert und als function in meine .bashrc geschrieben:
function mu() { wrapmargin=`echo $COLUMNS - 80 | bx`; echo set wrapmargin=$wrapmargin > ~/.mutt_wrap; mutt }
Also startet auf einer bash mit "mu" ein Mutt mit wunderschönem Zeilenumruch;-)
On Sat, Jan 17, 2004 at 04:41:47PM +0100, Steffen Liebergeld wrote:
function mu() { wrapmargin=`echo $COLUMNS - 80 | bx`;
wrapmargin=$[COLUMNS-80]
echo set wrapmargin=$wrapmargin > ~/.mutt_wrap; mutt }
Also startet auf einer bash mit "mu" ein Mutt mit wunderschönem Zeilenumruch;-)
aber viel zu teuer, die 2 Prozesse kannst du dir Soaren ;-)
lug-dd@mailman.schlittermann.de