tm 6.78.1.
[elisp/tm.git] / doc / tm-gnus_en.texi
1 \input texinfo.tex
2 @c{-*-tm-gnus manual-*-}
3 @setfilename tm-gnus_en.info
4 @settitle{tm-gnus manual}
5
6 @titlepage
7 @title{tm-gnus}
8 @author{MORIOKA Tomohiko}
9 @code{$Id: tm-gnus_en.texi,v 3.0 1995/09/05 10:19:13 morioka Exp $}
10 @end titlepage
11
12
13 @node Top, Introduction, (tm_en.info)tm-MUA, (tm_en.info)tm-MUA
14 @comment  node-name,  next,  previous,  up
15 @ifinfo
16 @top tm-gnus 6.20 Reference manual
17 @end ifinfo
18
19 @menu
20 * Introduction:: modules of tm-gnus
21 * Features::     Features of tm-gnus
22 * Customize::    Customize of tm-gnus
23 * Concept Index::
24 * Command Index::
25 * Variable Index::
26 @end menu
27
28
29 @node Introduction, Features, Top, Top
30 @comment  node-name,  next,  previous,  up
31 @chapter Introduction
32 @cindex components
33
34 tm-gnus is a GNUS extender to use tm. It supports GNUS 3.*, GNUS 4.*,
35 (ding) GNUS and GNUS 5.*.
36
37 tm-gnus extends MIME features to GNUS. tm-gnus decodes RFC 1522 MIME
38 encoded-word in summary buffer and article buffer, and adds a command
39 to preview MIME message using tm-view in summary mode.
40
41 In (ding) GNUS and GNUS 5.*, tm-gnus can display MIME preview buffer
42 instead of article buffer if you apply a patch to support this
43 feature. It is useful for heavy MIME user.
44
45
46 tm-gnus has following modules:
47
48 @itemize @minus
49 @item @strong{tm-gnus}:  setting module for GNUS.
50 @item @strong{tm-gnus3}: setting module for GNUS 3.*.
51 @item @strong{tm-gnus4}: setting module for GNUS 4.*.
52 @item @strong{tm-ognus}: common part for tm-gnus3 and tm-gnus4.
53 @item @strong{tm-dgnus}: setting module for (ding) GNUS.
54 @item @strong{tm-gnus5}: setting module for GNUS 5.*.
55 @end itemize
56
57
58 @node Features, Customize, Introduction, Top
59 @comment  node-name,  next,  previous,  up
60 @chapter Features
61 @cindex features
62
63 tm-gnus expands following features to GNUS.
64
65 @menu
66 * Summary buffer::         Summary buffer decoding
67 * Summary mode::           Extension to summary mode.
68 * Automatic MIME Preview:: Automatic MIME Preview
69 @end menu
70
71
72 @node Summary buffer, Summary mode, Features, Features
73 @comment  node-name,  next,  previous,  up
74 @section Summary buffer decoding
75 @cindex encoded-word
76 @cindex RFC 1522
77 @cindex summary buffer
78
79 tm-gnus decodes MIME encoded-word in summary buffer using tiny-mime
80 (@inforef{Top, , tm-eword_en}) functions. However if an encoded-word
81 has unsupported charset, it is not decoded.
82
83 @menu
84 * (tm-eword_en.info)Charsets:: supported charsets
85 @end menu
86
87
88 @node Summary mode, Automatic MIME Preview, Summary buffer, Features
89 @comment  node-name,  next,  previous,  up
90 @section Extension to Summary mode
91 @cindex Summary mode
92
93 @table @kbd 
94 @item @key{M-t}
95 In automatic MIME preview support version GNUS, it is the toggle
96 whether to do automatic MIME preview or not. Otherwise it is the
97 toggle for decoding mode of RFC 1522 MIME encoded-word.
98 @item @key{v}
99 Enter @code{mime/viewer-mode} to view a message.
100 @end table
101
102 mime/viewer-mode is a mode to view MIME messages. You can move in a
103 message, or play each contents included in a message.
104
105 @menu
106 * (tm-view_en.info)Commands:: Commands of mime/viewer-mode.
107 @end menu
108
109
110 @node Automatic MIME Preview,  , Summary mode, Features
111 @comment  node-name,  next,  previous,  up
112 @section Automatic MIME Preview
113 @cindex automatic MIME preview
114
115 ``Automatic MIME preview'' feature is available to apply ``with tm
116 patch'' for (ding) GNUS and GNUS 5.*. This patch is in
117 ftp.jaist.ac.jp:/pub/GNU/elisp/dgnus/, current version is
118 dgnus-0.99.23-tm.diff (as of 2 September 1995).
119
120 If this feature is available, when reading an article in summary mode,
121 tm-gnus displays preview buffer processed by tm-view (@inforef{Top, ,
122 tm-view_en.info}) instead of raw article buffer.
123
124 Therefore if an article is encoded by Quoted-Printable or Base64,
125 decoded article is displays. In addition, if using tm-rich, rich text
126 article is automatic formated. Of course, multipart article is dealt
127 with correctly.
128
129 Different from using metamail, speaker does not roar just then read an
130 article includes audio content, video player does not play just then
131 read an article includes video content, it does not do anonymous ftp
132 or send mail when read an article includes external-message. These
133 contents are played when you do decoding command in preview buffer.
134
135 However if you use a slow machine, or are just really impatient, you
136 can stop automatic MIME preview.
137
138
139 @defvar tm-gnus/decode-all
140
141 If it is t, tm-gnus is in automatic MIME preview mode.
142 @end defvar
143
144
145 @deffn{Command} tm-gnus/toggle-mime arg
146
147 It switches normal mode and automatic MIME preview mode. Namely, it
148 switches value of the variable @code{tm-gnus/decode-all}.
149
150 If @var{arg} is @code{t}, it set the variable
151 @code{tm-gnus/decode-all} to @code{t}.
152 @end deffn
153
154
155 If ``withd tm patch'' is applied, semantics of variable
156 @code{gnus-article-buffer} is changed, its semantics is divided into
157 following two variables.
158
159
160 @defvar gnus-article-buffer
161
162 It indicates the buffer to display. In automatic MIME preview mode, it
163 indicates preview buffer processed by tm-view. In normal mode, it
164 indicates raw article buffer. In this case, it is equal to variable
165 @code{gnus-clean-article-buffer}.
166 @end defvar
167
168
169 @defvar gnus-clean-article-buffer
170
171 It indicates raw article buffer even if tm-gnus is in automatic MIME
172 preview mode.
173 @end defvar
174
175
176 @node Customize, Concept Index, Features, Top
177 @comment  node-name,  next,  previous,  up
178 @chapter Customize of tm-gnus
179 @cindex customize
180
181 @defvar tm-gnus/original-article-display-hook
182
183 tm-gnus uses @code{gnus-article-display-hook}, forbids to use for
184 users customize. Therefore tm-gnus has this variable instead of
185 @code{gnus-article-display-hook}.
186
187 Notice: it is available after tm-gnus is loaded. Therefore you had
188 better to set in @code{call-after-loaded} like following:
189
190 @lisp
191 @cartouche
192 (call-after-loaded
193  'tm-view
194  (function
195   (lambda ()
196     (add-hook 'tm-gnus/original-article-display-hook
197               ...)
198     )))
199 @end cartouche
200 @end lisp
201 @end defvar
202
203 In addition, you can customize preview buffer to set tm-view
204 setting. For instance, following is a example to add faces using
205 hilit19.
206
207 @lisp
208 @cartouche
209 (cond (window-system
210        (let* ((header-patterns '(("^Subject:.*$" nil msg-subject)
211                                  ("^From:.*$" nil msg-from)
212                                  ("^--text follows this line--$"
213                                   nil msg-separator)
214                                  ("^[A-Za-z][A-Za-z0-9-]+:" nil msg-header)
215                                  ))
216               (body-patterns '(("^\\(In article\\|[ \t]*\\w*[]<>@}|]\\).*$"
217                                 nil msg-quote)))
218               (message-patterns (append header-patterns body-patterns))
219               )
220          (hilit-set-mode-patterns 'msg-header header-patterns)
221          (hilit-set-mode-patterns 'msg-body body-patterns)
222          (hilit-set-mode-patterns 'mime/viewer-mode
223                                   message-patterns
224                                   'hilit-rehighlight-message)
225          )
226        (add-hook 'mime-viewer/content-header-filter-hook
227                  (function hilit-rehighlight-buffer-quietly))
228        (add-hook 'mime-viewer/plain-text-preview-hook
229                  (function hilit-rehighlight-buffer-quietly))
230        ))
231 @end cartouche
232 @end lisp
233
234 @menu
235 * (tm-view_en.info):: tm-view
236 @end menu
237
238
239 @node Concept Index, Command Index, Customize, Top
240 @unnumbered Concept Index
241
242 @printindex cp
243
244
245 @node Command Index, Variable Index, Concept Index, Top
246 @unnumbered Command and Function Index
247
248 @printindex fn
249
250
251 @node Variable Index,  , Command Index, Top
252 @unnumbered Variable Index
253
254 @printindex vr
255
256 @bye