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