This commit was generated by cvs2svn to compensate for changes in r542,
[elisp/tm.git] / doc / tm-view=en.texi
1 @c{$Id: tm-view=en.texi,v 7.9 1996/02/28 14:35:11 morioka Exp $}
2
3 @node tm-view, tm-edit, tm-MUA, Top
4 @comment  node-name,  next,  previous,  up
5 @chapter tm-view
6 @cindex tm-view
7
8 The tm-view is a general MIME viewer running on GNU Emacs.
9
10 tm-view provides the major-mode called @code{mime/viewer-mode} to read
11 MIME message for MUA. MUA implementer can use it to add MIME function.
12
13 tm-view is a user interface kernel to view and navigate MIME message.
14 tm-view drives some programs to navigate each content-type/sub-types,
15 they are called @strong{method}. tm-view calls some programs to
16 display each content-type/sub-types in preview buffer, they are called 
17 @strong{filter}. @strong{method} and @strong{filter} are tm-view
18 application program. They expand tm-view to treat various kinds of
19 MIME types.
20
21 @menu
22 * mime/viewer-mode::
23 * Mechanism of tm-view::
24 * method::               decoding mechanism
25 * Functions of tm-view::
26 @end menu
27
28
29 @node mime/viewer-mode, method, tm-view, tm-view
30 @comment  node-name,  next,  previous,  up
31 @section mime/viewer-mode
32 @cindex mime/viewer-mode
33
34 @code{mime/viewer-mode} is a major-mode to preview MIME message. In
35 MIME viewer mode, you can navigate MIME message interactively.
36
37 @menu
38 * MIME display::
39 * MIME navigation::
40 @end menu
41
42 @node MIME display, MIME navigation, mime/viewer-mode, mime/viewer-mode
43 @comment  node-name,  next,  previous,  up
44 @subsection Screen design of preview buffer
45 @cindex Screen design of preview buffer
46
47 In preview buffer, following are displayed for each content:
48
49 @example
50         [content-subject]
51         (content-header)
52         
53         (content-body)
54         (content-separator)
55 @end example
56
57 You can change design or stop to display if you specify for each
58 content-types.
59
60 Example:
61
62 @example
63 From: morioka@@jaist.ac.jp (MORIOKA Tomohiko)
64 Subject: Re: Question
65 Newsgroups: zxr.message.mime
66 Date: 22 Oct 93 11:02:44
67 Mime-Version: 1.0
68 Organization: Japan Advanced Institute of Science and Technology,
69         Ishikawa, Japan
70
71 [1  (text/plain)]
72   How to compose MIME message in MIME-Edit mode.
73
74   Press `C-c C-x ?' then help message will be displayed:
75
76 C-c C-x C-t     insert a text message.
77 C-c C-x TAB     insert a (binary) file.
78 C-c C-x C-e     insert a reference to external body.
79 C-c C-x C-v     insert a voice message.
80 C-c C-x C-y     insert a mail or news message.
81 C-c C-x RET     insert a mail message.
82 C-c C-x C-s     insert a signature file at end.
83 C-c C-x t       insert a new MIME tag.
84 C-c C-x a       enclose as multipart/alternative.
85 C-c C-x p       enclose as multipart/parallel.
86 C-c C-x m       enclose as multipart/mixed.
87 C-c C-x d       enclose as multipart/digest.
88 C-c C-x s       enclose as PGP signed.
89 C-c C-x e       enclose as PGP encrypted.
90 C-c C-x C-k     insert PGP public key.
91 C-c C-x C-p     preview editing MIME message.
92 ...
93
94 So press `C-c C-x C-i' and specify file name you want to include.
95
96   MIME encoding for binary file is normally Base64.
97
98 [2  (image/gif)]
99
100 [3  (text/plain)]
101
102   In this way, it is finish a message attaching a picture.
103
104 ======================== A cup of Russian tea ========================
105 ============  * not by jam, not by marmalade, by honey *  ============
106 ============               MORIOKA Tomohiko               ============
107 =============== Internet E-mail: <morioka@@jaist.ac.jp> ===============
108 @end example
109
110
111 @menu
112 * content-subject::
113 * content-header::
114 * content-body::
115 * content-separator::
116 @end menu
117
118 @include tm-view-cs=en.texi
119 @include tm-view-ch=en.texi
120 @include tm-view-cb=en.texi
121
122
123 @node content-separator,  , content-body, MIME display
124 @comment  node-name,  next,  previous,  up
125 @subsubsection content-separator
126 @cindex content-separator
127
128 Content-separator is displayed to represent boundary of contents.
129
130 Content-separator is displayed by function
131 @code{mime-viewer/default-content-separator}. In default, it displays
132 line-break when content-header and content-body are not displayed.
133
134 If you want to change this condition, please redefine this function.
135
136
137 @deffn{Function} mime-viewer/default-content-separator cnum cinfo ctype params subj
138
139 Display content-separator. @var{cnum} is content-number of a
140 content. @var{cinfo} is content-info of the message. @var{ctype} is
141 content-type of a content. @var{params} is Content-Type field
142 parameters of a content. @var{subj} is subject.
143
144 In default, it displays line-break when content-header and
145 content-body are not displayed.
146 @end deffn
147
148
149 @node MIME navigation,  , MIME display, mime/viewer-mode
150 @comment  node-name,  next,  previous,  up
151 @subsection Commands of mime/viewer-mode
152 @cindex Commands of mime/viewer-mode
153
154 @code{mime/viewer-mode} has following functions:
155
156 @table @kbd 
157 @item @key{u}
158 goes to the upper content (returns to the Summary mode if the cursor
159 is sitting on the top content (*1))
160
161 @item @key{p}
162 goes to the previous content
163
164 @item @key{n}
165 goes to the next content
166
167 @item @key{SPC}
168 scrolls up
169
170 @item @key{M-SPC}
171 scrolls down
172
173 @item @key{DEL}
174 scrolls down
175
176 @item @key{RET}
177 goes to the next line
178
179 @item @key{M-RET}
180 goes to the previous line
181
182 @item @key{<}
183 goes to the beginning of message
184
185 @item @key{>}
186 goes to the end of message
187
188 @item @key{v}
189 playbacks a content            (*2)
190
191 @item @key{e}
192 extracts a file from a content (*2)
193
194 @item @key{C-c C-p}
195 prints a content               (*2)
196
197 @item @key{f}
198 displays X-Face in the message
199
200 @item @key{mouse-button-2}
201 drives mouse button.
202
203 If you press content-subject, it playbacks the content. (*2)
204
205 If you press URL-button, it runs WWW browser.
206 @end table
207
208
209 @b{[Notice]}
210 @enumerate
211 @item
212 Not return to the Summary mode unless tm-view has been setup using
213 tm-mh-e, tm-gnus, tm-rmail etc.
214
215 @item
216 Actual playback/extract/print will be performed by a method.
217 @end enumerate
218
219
220 @include tm-view-m=en.texi
221
222
223 @node Mechanism of tm-view, Functions of tm-view, method, tm-view
224 @comment  node-name,  next,  previous,  up
225 @section Mechanism of tm-view
226 @cindex mechanism of tm-view
227
228 tm-view managements two buffers, one is for raw message called
229 @strong{article buffer}, another one is to preview for user called
230 @strong{preview buffer}.
231
232 When called @code{mime/viewer-mode}, tm-view analyzes article buffer,
233 and sets its result to the variable @code{mime::article/content-info}.
234
235 After that, tm-view create a preview buffer corresponded to the
236 article buffer. As this time, tm-view modifies header and body of each
237 contents of the message. It is done by definition for Content-Types.
238
239 On the preview buffer created by tm-view, user can manipulate a
240 message to decode, such as run external viewer, extract files, or
241 print.
242
243 Notice: In this document, I call @strong{content-type} as
244 content-type/subtype of Content-Type field.
245
246
247 @menu
248 * article-buffer::
249 * preview-buffer::
250 @end menu
251
252 @include tm-view-a=en.texi
253
254 @include tm-view-p=en.texi
255
256
257 @node Functions of tm-view,  , Mechanism of tm-view, tm-view
258 @comment  node-name,  next,  previous,  up
259 @section Functions of tm-view
260
261 tm-view provides some available functions to decode and navigate MIME
262 message to each MUAs.
263
264 There are 2 kinds of functions, one is for MIME preview, another one
265 is to decode RFC 1522 encoded-word.
266
267 Memo: Old tiny-mime.el was abolished. Functions to decode RFC 1522
268 encoded-word are took over to tm-view.
269
270
271 @menu
272 * function to preview::
273 * encoded-word decoding::
274 @end menu
275
276
277 @node function to preview, encoded-word decoding, Functions of tm-view, Functions of tm-view
278 @comment  node-name,  next,  previous,  up
279 @subsection function to preview MIME message
280 @cindex mime/viewer-mode
281
282 @deffn{Command} mime/viewer-mode &optional mother ctl encoding
283
284 Parse current-buffer as a MIME message, and create preview buffer to
285 display to user, then enter @code{mime/viewer-mode}.
286
287 @var{mother} is used to specify original article buffer. It may be
288 useful when an article buffer is assembled from message/partial.
289
290 @var{ctl} is used to specify Content-Type field information. Its
291 format is output format of @code{mime/Content-Type}. When @var{ctl} is 
292 specified, tm-view uses it instead of Content-Type field of the
293 article buffer.
294
295 @var{encoding} is used to specify field-body of
296 Content-Transfer-Encoding field. When is is specified, tm-view uses it
297 instead of Content-Type field of the article buffer.
298 @end deffn
299
300
301 @include tm-ew-d=en.texi