Source

tm / texi / tm-vm-en.texi

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
\input texinfo.tex
@c %**start of header
@setfilename tm-vm-en.info
@settitle tm-vm Manual (English Version)
@direntry
* Tm-Vm::              MIME extension for VM mail reader
@end direntry
@c %**end of header

@ifinfo
This file documents tm-vm.el v8.12

tm-vm is part of the TM Package.

tm-vm is an interface between tm and the VM mail user agent that lets
you read and write multimedia mail on the Internet using the MIME
standard.

tm-vm and its documentation are distributed under the same terms as
TM. Please refer to the TM Manual.

Copyright 1996 Tomohiko Morioka, Oscar Figueiredo

@end ifinfo




@titlepage
@title tm-vm Manual (English Version)
@author by Oscar Figueiredo
@code{$Id$}
@page

tm-vm is part of the TM Package.

tm-vm and its documentation are distributed under the same terms as
TM. Please refer to the TM Manual.

Copyright 1996 Tomohiko Morioka, Oscar Figueiredo
@end titlepage





@node Top, Overview, (dir), (dir)
@ifinfo
@chapter tm-vm Manual
tm-vm is an interface between tm and the VM mail user agent that lets
you read and write multimedia mail on the Internet using the MIME
standard.

This document applies to release 8.12 of tm-vm.el
@end ifinfo

@menu
* Overview::                    
* Install::                     
* Usage::                       
* Customization::               
* News::                        
* Copyright::                   
* Variable Index::              
* Concept Index::               
@end menu





@node Overview, Install, Top, Top
@chapter Overview

tm-vm is an interface between TM (@pxref{Top,TM,,tm-en,TM Manual}.) and the VM
mail user agent (@pxref{Top,VM,,vm,VM Manual}.).

Until recently VM did not support the MIME standard. Kyle Jones has
begun to implement it in VM 6.0 however TM provides a much more complete
support of MIME than the one currently offered in VM 6. tm-vm integrates
the TM package into VM so as to give you a powerful MIME support in your
usual mail environment for both mail reading and composing. tm-vm adds
MIME features to VM 5 and replaces the native features offered by VM 6.

@section Mail Reading Features

tm-vm tries to integrate as transparently as possible with VM so that
MIME messages appear to you just like plain messages.

tm-vm detects MIME messages when you try to view them and, if automatic
MIME previewing is enabled (the default), then it automatically parses
the message and displays a "beautified" version under the MIME Viewer.
Note that the word @emph{previewing} has two different meanings for VM and
TM. In VM, it means view the first lines of a message only, as defined by
the variable @code{vm-preview-lines}, to avoid confusion we call this
@emph{message previewing}. In TM, previewing means parsing the contents
of a message according to the rules of the MIME standard and display a
corresponding view of it. We call that more specifically @emph{MIME
previewing}. 

The MIME Viewer offers all the functionality to view/extract the MIME
components (attachments) of the message. It also displays images inline
in XEmacs. @xref{Top,MIME Viewer,MIME Viewer,tm-view-en,TM View
Manual}. Note however that for a better VM integration, tm-vm
overrides the standard bindings of the MIME-Viewer and makes them
available with a @key{C-c} prefix.

@section Mail Composing Features

Composing a new message places you in a compose buffer as usual under VM
but a special minor mode (@samp{mime-editor}) is made available that
lets you perform such operations as:

@itemize @bullet
@item 
Insert arbitrary files
@item
Insert another message 
@item
Insert a voice sample recorded from a microphone attached to the computer
@item
Enclose message sections as PGP encrypted
@end itemize

and much more. For details, @pxref{Top,MIME Editor,MIME
Editor,tm-edit-en,TM Edit Manual}.

When you reply to a message citing the original and tm-vm is active,
tm-vm will insert the contents of the MIME-Preview buffer in the reply
buffer. You can also insert the raw message if you want (@pxref{Usage}).





@node Install, Usage, Overview, Top
@chapter Installing tm-vm

To take advantage of the benefits of tm-vm, you need to have VM and tm
already installed.

VM is part of XEmacs distributions and so if you're running XEmacs you
don't need to install it.  If you're running Emacs, you will need to
install VM. The official VM distribution site is
@file{ftp://ftp.uu.net/networking/mail/vm/}. 

If you're reading this manual then there is a pretty good chance you
already have a recent version of tm. The official tm distribution site
is @file{ftp://ftp.jaist.ac.jp/pub/GNU/mime/}. Follow the installation
procedure for tm as described in the documentation.

Once these steps are completed, tm-vm installation is very simple.  You
just need to insert the following lines in your VM configuration file
(generally @file{.vm}):

@lisp
(require 'mime-setup)
(require 'tm-vm)
@end lisp

That's it. You are ready to read and send multimedia mail! You may also
want to customize some aspects of tm-vm behaviour (@pxref{Customization}).

If you use BBDB, you must load tm-vm @strong{after} BBDB. Please be sure
to respect the following sequence in your initialization file:

@lisp
(bbdb-insinuate-vm)
(require 'tm-vm)
@end lisp





@node Usage, Customization, Install, Top
@chapter Using tm-vm


@menu
* Reading MIME mail::           Commands for MIME previewing    
* Composing MIME mail::         Writing/Replying to/Forwarding MIME messages
* Printing::                    Printing MIME messages
* Using BBDB::                  BBDB integration
@end menu


@node Reading MIME mail, Composing MIME mail, Usage, Usage
@section Reading MIME mail

When reading mail, tm-vm can operate in two different modes:
@emph{automatic preview} and @emph{on-demand preview}. In automatic
preview mode (the default) MIME messages are automatically decoded. In
on-demand preview mode all messages are presented by VM as they are (as
if tm were not loaded). The user can request the decoding of a message
at any time with @code{tm-vm/view-message} (bound to @kbd{Z}).


@subsection VM folder buffer and MIME Preview buffer

Though tm-vm tries to hide this fact as much as possible, it is
important to note that when MIME previewing is enabled the current
message actually exists in @strong{two} separate buffers:

@itemize @bullet

@item
@cindex VM folder buffer
@emph{the VM folder buffer}: always displays the @strong{raw} message
buffer where the MIME contents remain unparsed

@item
@cindex MIME Preview buffer
@emph{the MIME Preview buffer}: displays a MIME parsed version of the
message. It is generally what you want to see as it is more readable.
@end itemize

There are two different buffers due to the VM 5 implementation that
makes TM/VM integration difficult. However, we try hard to make the MIME
Preview buffer act as if it were the real VM message buffer by making
all bindings act the same in the Preview buffer as in the folder
buffer. In this version of tm-vm, most of the usual VM bindings are made
available transparently in the MIME Preview buffer, others will be in
the future, contact the maintainer for more information.


@code{tm-vm/toggle-preview-mode} (bound to @kbd{M-t}) lets you toggle
between automatic and on-demand preview modes. 


@node Composing MIME mail, Printing, Reading MIME mail, Usage
@section Composing MIME mail

Regardless of the current MIME preview mode (automatic or on-demand),
tm-vm activates the mime-editor mode each time you compose a mail
message (new message, reply or forward).  @xref{Top,MIME Editor,MIME
Editor,tm-edit-en,TM Edit Manual}, for details on mime-editor mode.

When you reply to a message, tm-vm will insert the contents of the
@strong{decoded} message if there exists a MIME Preview buffer. This is
generally what you want for quoted-printable text, for instance. Inline
images are removed from the reply. If for some reason you want the
@strong{raw} message to be inserted instead of the decoded one, you have
to kill the MIME Preview buffer first. You do this with
@code{kill-buffer} (bound to @kbd{C-x k}) in the MIME Preview
buffer. You can also toggle automatic preview off, if it was on, with
@kbd{M-t}.

Forwarding a message always inserts the raw message with its own MIME
headers. The recipient will thus receive exactly the same message as you
did.



@node Printing, Using BBDB, Composing MIME mail, Usage
@section Printing MIME messages

For non-MULE Emacses, printing of MIME messages uses Postscript printing
(through the ps-print package). Non-MIME messages are printed the usual
way as configured in VM. This is controlled by the variable
@code{tm-vm/use-ps-print}.


@node Using BBDB,  , Printing, Usage
@section Notes about BBDB Usage

BBDB, the Big Brother's Database, should operate normally with
VM/tm-vm. You must ensure, however, that tm-vm is loaded @strong{after}
BBDB has installed its hooks. Therefore be sure to respect the following
sequence in your initialization file:

@lisp
(bbdb-insinuate-vm)
(require 'tm-vm)
@end lisp




@node Customization, News, Usage, Top
@chapter Customization

Several variables let you adapt the behavior of tm-vm to your needs. You
can set these variables to the appropriate value in your initialization
file prior to loading tm.


@defopt tm-vm/automatic-mime-preview
If non-@code{nil} then tm-vm will start in automatic mime preview mode
(@pxref{Usage}). Default @code{t}.
@end defopt

@defopt tm-vm/strict-mime
If non-@code{nil} tm-vm will automatically decode MIME messages
only. MIME messages have a @code{MIME-Version} header. If @code{nil}
then all messages will be decoded and viewed in the MIME Preview buffer
regardless of the existence of a @code{MIME-Version} header. Default
@code{t}.
@end defopt

@defopt tm-vm/use-vm-bindings
If non-@code{nil} tm-vm will use usual VM bindings in MIME-Preview
buffers and make TM bindings available with a prefix. Otherwise usual TM
bindings are used without prefix (this was the default in versions of
tm-vm older than 8.0). Default @code{t}.
@end defopt

@defopt tm-vm/attach-to-popup-menus
If this is non-@code{nil}, tm-vm will append a menu of MIME commands to
the VM standard mode popup (@key{Button 3}). Default @code{t}. Untested
in Emacs.
@end defopt

@defopt tm-vm/use-original-url-button
If this is non-@code{nil}, tm-vm will use VM to energize URL's contained
in the message body as weel as message headers. Default @code{t}.
@end defopt

@defopt tm-vm/use-ps-print
If this is non-@code{nil} then MIME messages will be printed in
Postscript using the ps-print package. By default it is @code{t} for
non-MULE Emacses.
@end defopt

@defvar tm-vm/build-mime-preview-buffer-hook
tm-vm runs the hooks in this list each time it builds a MIME-Preview
buffer for a message. You can attach your own hook functions using
@code{add-hook}.
@end defvar

@defvar tm-vm/select-message-hook
tm-vm runs the hooks in this list after selecting a message. You can
attach your own hook functions using @code{add-hook}.
@end defvar

@defvar tm-vm/forward-message-hook
tm-vm runs the hooks in this list after a Mail mode buffer has been
created to forward a message in message/rfc822 type format.
If @code{vm-forwarding-digest-type} is @samp{rfc1521}, tm-vm runs this
hook instead of @code{vm-forward-message-hook}.
@end defvar

@defvar tm-vm/send-digest-hook
tm-vm runs the hooks in this list after a Mail mode buffer has been
created to send a digest in multipart/digest type format.
If @code{vm-digest-send-type} is @samp{rfc1521}, tm-vm runs this hook
instead of @code{vm-send-digest-hook}.
@end defvar

@section X-Faces
@cindex X-Faces
tm-vm displays X-Faces inline for XEmacs users in the same way as
VM. X-Faces are turned on by default. You need to disable their display
explicitly if you want to:

@lisp
(setq vm-use-lucid-highlighting nil)
(setq vm-display-xfaces nil)
@end lisp


@node News, Copyright, Customization, Top
@chapter News

This section documents the user-visible changes in the latest releases
of tm-vm. For more technical details see the ChangeLog.

@section 8.5 to 8.12

@itemize @bullet
@item
Bug fixes
@item
Compatible with successive VM 6 versions (tested up to VM 6.24).
@item
Improved overall VM integration.
@item
New hook variable @code{tm-vm/build-mime-preview-buffer-hook}.
@end itemize

@section 8.4

@itemize @bullet
@item
Bug fixes in Emacs menus.
@end itemize

@section 8.0 to 8.3
@itemize @bullet
@item
Most usual VM bindings are available in MIME-Preview buffers (motion
commands, summary generation). Usual TM bindings are prefixed with
@key{C-c} now. See the variable @code{tm-vm/use-vm-bindings}.
@item
VM menu bar and toolbar are accessible from MIME-Preview buffers
@item
MIME-Preview buffers support header toggling
@item
VM message previewing is correctly supported
@item
Bug fixes
@end itemize

@section 7.79

@itemize @bullet
@item
Minor bug fixes.
@end itemize

@section 7.78

@itemize @bullet
@item
Better compatibility with MULE in respect of the ps-print package
@end itemize


@section 7.77

@itemize @bullet
@item
A bug in byte-compilation introduced in 7.76 was fixed
@item
Window configurations are restored more correctly (point stays where it
should :-) when paging through messages.
@end itemize


@section 7.76

@itemize @bullet
@item
Forwarding a MIME message now always forwards the @strong{raw} message.
@item
Forwarding a message from the @samp{Dispose} pull-down menu now works
correctly in XEmacs. Untested in Emacs.
@item
Forwarding a message when the current buffer is the MIME-Preview buffer
now works correctly
@item
@code{tm-vm/use-ps-print} was introduced @pxref{Customization}.

@end itemize


@section 7.75

@itemize @bullet
@item
Bug fixes: BBDB record creation and MIME component extraction from new
messages

@end itemize


@section 7.74

@itemize @bullet
@item
X-Faces are displayed by default. @pxref{Customization}
@end itemize






@node Copyright, Variable Index, News, Top
@ifinfo
@chapter Copyright

This file documents tm-vm 8.12, an interface between tm and the VM mail
user agent.

Copyright 1996 Tomohiko Morioka, Oscar Figueiredo

tm-vm is part of the TM package. tm-vm and its documentation are
distributed under the same terms as TM itself
@xref{Copyright, Copyright, tm-en, TM}.
@end ifinfo


@node Variable Index, Concept Index, Copyright, Top
@unnumbered Variable Index

@printindex vr

@node Concept Index,  , Variable Index, Top
@unnumbered Concept Index

@printindex cp

@contents
@bye