view man/tm/tm-view=en.texi @ 74:54cc21c15cbb r20-0b32

Import from CVS: tag r20-0b32
author cvs
date Mon, 13 Aug 2007 09:04:33 +0200
parents 131b0175ea99
children
line wrap: on
line source

@c{$Id: tm-view=en.texi,v 1.1.1.1 1996/12/18 22:43:52 steve Exp $}

@node tm-view, tm-edit, tm-MUA, Top
@comment  node-name,  next,  previous,  up
@chapter tm-view
@cindex tm-view

The tm-view is a general MIME viewer running on GNU Emacs.

tm-view provides the major-mode called @code{mime/viewer-mode} to read
MIME message for MUA. MUA implementer can use it to add MIME function.

tm-view is a user interface kernel to view and navigate MIME message.
tm-view drives some programs to navigate each content-type/sub-types,
they are called @strong{method}. tm-view calls some programs to
display each content-type/sub-types in preview buffer, they are called 
@strong{filter}. @strong{method} and @strong{filter} are tm-view
application program. They expand tm-view to treat various kinds of
MIME types.

@menu
* mime/viewer-mode::
* Mechanism of tm-view::
* method::               decoding mechanism
* Functions of tm-view::
@end menu


@node mime/viewer-mode, method, tm-view, tm-view
@comment  node-name,  next,  previous,  up
@section mime/viewer-mode
@cindex mime/viewer-mode

@code{mime/viewer-mode} is a major-mode to preview MIME message. In
MIME viewer mode, you can navigate MIME message interactively.

@menu
* MIME display::
* MIME navigation::
@end menu

@node MIME display, MIME navigation, mime/viewer-mode, mime/viewer-mode
@comment  node-name,  next,  previous,  up
@subsection Screen design of preview buffer
@cindex Screen design of preview buffer

In preview buffer, following are displayed for each content:

@example
	[content-subject]
	(content-header)
	
	(content-body)
	(content-separator)
@end example

You can change design or stop to display if you specify for each
content-types.

Example:

@example
From: morioka@@jaist.ac.jp (MORIOKA Tomohiko)
Subject: Re: Question
Newsgroups: zxr.message.mime
Date: 22 Oct 93 11:02:44
Mime-Version: 1.0
Organization: Japan Advanced Institute of Science and Technology,
        Ishikawa, Japan

[1  (text/plain)]
  How to compose MIME message in MIME-Edit mode.

  Press `C-c C-x ?' then help message will be displayed:

C-c C-x C-t	insert a text message.
C-c C-x TAB	insert a (binary) file.
C-c C-x C-e	insert a reference to external body.
C-c C-x C-v	insert a voice message.
C-c C-x C-y	insert a mail or news message.
C-c C-x RET	insert a mail message.
C-c C-x C-s	insert a signature file at end.
C-c C-x t	insert a new MIME tag.
C-c C-x a	enclose as multipart/alternative.
C-c C-x p	enclose as multipart/parallel.
C-c C-x m	enclose as multipart/mixed.
C-c C-x d	enclose as multipart/digest.
C-c C-x s	enclose as PGP signed.
C-c C-x e	enclose as PGP encrypted.
C-c C-x C-k	insert PGP public key.
C-c C-x C-p	preview editing MIME message.
...

So press `C-c C-x C-i' and specify file name you want to include.

  MIME encoding for binary file is normally Base64.

[2  (image/gif)]

[3  (text/plain)]

  In this way, it is finish a message attaching a picture.

======================== A cup of Russian tea ========================
============  * not by jam, not by marmalade, by honey *  ============
============               MORIOKA Tomohiko               ============
=============== Internet E-mail: <morioka@@jaist.ac.jp> ===============
@end example


@menu
* content-subject::
* content-header::
* content-body::
* content-separator::
@end menu

@include tm-view-cs=en.texi
@include tm-view-ch=en.texi
@include tm-view-cb=en.texi


@node content-separator,  , content-body, MIME display
@comment  node-name,  next,  previous,  up
@subsubsection content-separator
@cindex content-separator

Content-separator is displayed to represent boundary of contents.

Content-separator is displayed by function
@code{mime-viewer/default-content-separator}. In default, it displays
line-break when content-header and content-body are not displayed.

If you want to change this condition, please redefine this function.


@deffn{Function} mime-viewer/default-content-separator cnum cinfo ctype params subj

Display content-separator. @var{cnum} is content-number of a
content. @var{cinfo} is content-info of the message. @var{ctype} is
content-type of a content. @var{params} is Content-Type field
parameters of a content. @var{subj} is subject.

In default, it displays line-break when content-header and
content-body are not displayed.
@end deffn


@node MIME navigation,  , MIME display, mime/viewer-mode
@comment  node-name,  next,  previous,  up
@subsection Commands of mime/viewer-mode
@cindex Commands of mime/viewer-mode

@code{mime/viewer-mode} has following functions:

@table @kbd 
@item @key{u}
goes to the upper content (returns to the Summary mode if the cursor
is sitting on the top content (*1))

@item @key{p}
goes to the previous content

@item @key{n}
goes to the next content

@item @key{SPC}
scrolls up

@item @key{M-SPC}
scrolls down

@item @key{DEL}
scrolls down

@item @key{RET}
goes to the next line

@item @key{M-RET}
goes to the previous line

@item @key{<}
goes to the beginning of message

@item @key{>}
goes to the end of message

@item @key{v}
playbacks a content            (*2)

@item @key{e}
extracts a file from a content (*2)

@item @key{C-c C-p}
prints a content               (*2)

@item @key{f}
displays X-Face in the message

@item @key{mouse-button-2}
drives mouse button.

If you press content-subject, it playbacks the content. (*2)

If you press URL-button, it runs WWW browser.
@end table


@b{[Notice]}
@enumerate
@item
Not return to the Summary mode unless tm-view has been setup using
tm-mh-e, tm-gnus, tm-rmail etc.

@item
Actual playback/extract/print will be performed by a method.
@end enumerate


@include tm-view-m=en.texi


@node Mechanism of tm-view, Functions of tm-view, method, tm-view
@comment  node-name,  next,  previous,  up
@section Mechanism of tm-view
@cindex mechanism of tm-view

tm-view managements two buffers, one is for raw message called
@strong{article buffer}, another one is to preview for user called
@strong{preview buffer}.

When called @code{mime/viewer-mode}, tm-view analyzes article buffer,
and sets its result to the variable @code{mime::article/content-info}.

After that, tm-view create a preview buffer corresponded to the
article buffer. As this time, tm-view modifies header and body of each
contents of the message. It is done by definition for Content-Types.

On the preview buffer created by tm-view, user can manipulate a
message to decode, such as run external viewer, extract files, or
print.

Notice: In this document, I call @strong{content-type} as
content-type/subtype of Content-Type field.


@menu
* article-buffer::
* preview-buffer::
@end menu

@include tm-view-a=en.texi

@include tm-view-p=en.texi


@node Functions of tm-view,  , Mechanism of tm-view, tm-view
@comment  node-name,  next,  previous,  up
@section Functions of tm-view

tm-view provides some available functions to decode and navigate MIME
message to each MUAs.

There are 2 kinds of functions, one is for MIME preview, another one
is to decode RFC 1522 encoded-word.

Memo: Old tiny-mime.el was abolished. Functions to decode RFC 1522
encoded-word are took over to tm-view.


@menu
* function to preview::
* encoded-word decoding::
@end menu


@node function to preview, encoded-word decoding, Functions of tm-view, Functions of tm-view
@comment  node-name,  next,  previous,  up
@subsection function to preview MIME message
@cindex mime/viewer-mode

@deffn{Command} mime/viewer-mode &optional mother ctl encoding

Parse current-buffer as a MIME message, and create preview buffer to
display to user, then enter @code{mime/viewer-mode}.

@var{mother} is used to specify original article buffer. It may be
useful when an article buffer is assembled from message/partial.

@var{ctl} is used to specify Content-Type field information. Its
format is output format of @code{mime/Content-Type}. When @var{ctl} is 
specified, tm-view uses it instead of Content-Type field of the
article buffer.

@var{encoding} is used to specify field-body of
Content-Transfer-Encoding field. When is is specified, tm-view uses it
instead of Content-Type field of the article buffer.
@end deffn


@include tm-ew-d=en.texi