3 sylprint.pl - process a Sylpheed mail and print it using
4 enscript if available (or lpr if not)
7 sylprint.pl '%s' [-r] [options]
10 Sylprint is a perl script for printing mails from Sylpheed
11 mailer. Syntax given is appropiate (and designed) for usage
12 in the "Printing" box of Sylpheed that appears when going
13 Configuration->Common Preferences menu, Other tab.
15 Sylprint translates the english header names given by
16 Sylpheed into the local language if available. Also wraps
17 long lines without breaking words, and indents headers, all
18 in order to make a nicer and easier to read hardcopy.
20 There are other programs that produce a nicer hardcopy,
21 for example muttprint, but you pay the price of requiring
22 LaTeX installed for the job. Sylprint tries to do it nice,
23 but no so nice and also lowering resources required.
25 It also has a GTK interface (in development) if you don't
26 want to remember all those flags. The interface is only that,
27 an interface, thus isn't required at all for running
28 sylprint script, but while an experienced user may prefer
29 to use the script straightforward, a beginner may feel more
30 comfortable with a "printing panel"-like window.
33 Options may be specfied in any order, but separated (i.e.: a
34 valid specification is "-e -h" while "-eh" is not).
36 All the options except -p and -v have the purpose of changing
37 or disabling something that is done by default, so if you like
38 the default output all may be totally useless. But not always.
42 -e Do not use enscript at all (even if available).
45 Use font for printing mail. Font specification style
46 is name[@{size|width/height}] (examples: 'Times',
47 'Times@12', 'Times@8/10').
48 Font syntax correctness is checked, but availability
49 of the font on the system is not checked.
50 Default font is 'Courier@9/13'.
52 -h Do not print page header. Page header includes date
53 and page numbering and is generated by enscript.
56 Use printer for printing (default is 'lp'). Printer
57 is not checked at all, so must be a valid printer
58 name within your system.
60 -r Do not parse user configuration file (sylprint.rc).
61 This must be the first option after filename if used.
64 Do not print separator line between headers and body
65 unless char is specified, then set char as separator
66 character in place of default one (underscore).
68 -t Do not translate mail headers.
70 -v Preview mail before printing. Preview is done using
71 gv for enscript processed mails and gless for non
73 You can specify this option twice to avoid printing
74 at all, in case you only want a preview.
77 If no number is given, disables line wrapping in
78 mail text, else sets the column for wrapping to
79 number instead of 79, which is the default value.
81 -H Do not print mail headers (From, To, etc.). This also
82 disables separator line printing.
85 Do not print quoted text (usually introduced by '>').
86 You may supply the character or characters that lead
87 the quoted text. These character(s) must be the first
88 on a line to be interpreted as quoted.
89 Remember to escape them from shell enclosed in single
90 quotes ('|' for example) if required.
92 -S Do not print mail signature (mail signatures started
93 with -- and carriage return).
95 -- Finish option parsing. All the options specified after
96 this are passed unmodified to enscript or lpr.
99 "required filename missing"
100 No arguments were provided to the script, at least
101 one, the filename with the mail to be printed, is
102 required. See SYNTAX.
105 The parameter of -f option does not match a valid
106 font specification. See OPTIONS or enscript manpage.
109 The parameter of -w option must be a decimal number
110 without sign. See SYNTAX.
112 "/usr/bin/lpr not found"
113 The line printer command couldn't be stated. Be sure
114 you have it installed where you configured, and if
115 file permissions allow you to execute it.
116 In some systems access to printer(s) is restricted.
118 "trying lpr: error message"
119 The lpr command failed by some reason, luckily by the
120 stated in error message.
122 "/usr/bin/enscript not found, using lpr"
123 Enscript can't be found there, be sure it's installed
124 and you set the right path in the config.
125 As fallback, mail is printed using (ugly) lpr.
127 "charset not supported by enscript: using lpr"
128 Enscript doesn't (actually) support:
131 * iso-8859-9 (Turkish)
132 * gb2312, big5 (Chinese)
133 charset encodings, so only lpr can be used with them.
136 LANG If defined is used to guess the language that should
137 be tried for translating and the charset encoding.
139 HOME For getting Sylpheed user's config directory.
141 USER For building temp files.
148 Stores user default preferred configuration for the
149 script. Settings in this file may be overriden by
150 command line options. Must be stored in the same
151 directory of the script and/or in the ~/.sylpheed-claws
152 one (Sylpheed user's configuration directory).
154 /tmp/sylprint.username.number
155 Temporary files created to store a processed mail.
156 Username is the login name of the user invoking the
157 sylprint script and number is the PID of the script
159 These files are actually deleted unless something went
162 /tmp/sylprint.username.number.ps
163 Same as the former, used to store PostScript preview
164 of mail if preview is enabled.
167 Sylpheed: http://sylpheed.good-day.net
168 Sylpheed Claws: http://sylpheed-claws.sourceforge.net
169 Enscript: http://www.iki.fi/~mtr/genscript/
170 Muttprint: http://bwalle.exit.mytoday.de/muttprint/
171 Sylprint: http://www.aic.uniovi.es/mones/sylprint/
173 enscript(1), lpr(1), gv(1)
176 Supported languages are only those supported by Sylpheed.
178 Supported encodings are only those supported by enscript.
179 Charset encodings not supported by enscript are printed via
182 There are languages partially translated, mainly because
183 the strings lack of translation in the po files or I was
184 unable to guess a correct one from them.
185 Currently Greek is the only language in this category.
188 There is no enough command line options to set all config
189 variables. This is not really a bug, because is intentional,
190 only most common/useful features have an option. The rest
191 can be set on the rc file.
193 Diagnostic messages should be nicer and more informative.
195 If you use a proportional font for printing mail with
196 enscript, all the header's alignment and long line wrapping
197 may be (and almost surely be) lost.
200 The original author is Ricardo Mones Lastra, but much more
201 people have, indirectly, contributed to this by providing
202 Sylpheed translations, here used again:
204 Alfons Hoogervorst; Andreas Hinz; Ante Karamatiæ;
205 Danilo Bodei; Dmitry S. Sivachenko; Fabio Junior
206 Beneditto; Frank J. J. Weng; Görkem Çetin; Gustavo
207 Noronha Silva; Hiroyuki Yamamoto; Jens Oberender;
208 Joakim Andreasson; Martin Schaaf; Melvin Hadasht;
209 Michalis Kabrianis; Paul Rolland; Peeter Vois;
210 Przemyslaw Sulek; Sergey Vlasov; Székely Krisztián;
211 Vincent van Adrighem; Vladimír Marek; Xiangxin Luo.
213 (Obtained from "Last-Translator" field on current po files)
216 Sylprint script, config files and documentation.
217 (c) 2001 by Ricardo Mones Lastra <mones@aic.uniovi.es>.
219 This program is free software; you can redistribute it and/or
220 modify it under the terms of the GNU General Public License
221 as published by the Free Software Foundation; either version 2
222 of the License, or (at your option) any later version.
224 This program is distributed in the hope that it will be useful,
225 but WITHOUT ANY WARRANTY; without even the implied warranty of
226 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
227 GNU General Public License for more details.
229 You should have received a copy of the GNU General Public
230 License along with this program; if not, write to the Free
231 Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,