$Id: tm-view_en.texi,v 7.3 1995/12/13 09:30:34 morioka Exp $

tm-view
*******

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

tm-view provides the major-mode called 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 method. tm-view calls some programs to display each content-type/sub-types in preview buffer, they are called filter. method and filter are tm-view application program. They expand tm-view to treat various kinds of MIME types.

Mechanism of tm-view
********************

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

When called mime/viewer-mode, tm-view analyzes article buffer, and sets its result to the variable 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 vewer, extract files, or print.

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

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.

function to preview MIME message
................................

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 mime/viewer-mode.

MOTHER is used to specify original article buffer. It may be useful when an article buffer is assembled from message/partial.

CTL is used to specify Content-Type field information. Its format is output format of mime/Content-Type. When CTL is specified, tm-view uses it instead of Content-Type field of the article buffer.

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.

tm-ew-d_en.texi

tm-view-a_en.texi

tm-view-p_en.texi

tm-view-m_en.texi

mime/viewer-mode
================

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

Screen design of preview buffer
*******************************

In preview buffer, following are displayed for each content:

     	[content-subject]
     	(content-header)

     	(content-body)
     	(content-separator)

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

Example:

     From: MORIOKA Tomohiko <morioka@jaist.ac.jp>
     Newsgroups: zxr.comp.emacs.tm-english
     Subject: tm6.63.tar.gz
     Date: Mon, 26 Jun 1995 17:39:50 JST
     Organization: Chamonix, JAIST, Tatsunokuchi, Ishikawa, Japan
     Reply-To: tm-eng@chamonix.jaist.ac.jp
     To: tm-eng@chamonix.jaist.ac.jp
     In-Reply-To: Your message of "Sun, 25 Jun 1995 23:20:49 MST"
     X-Mua: mh-e 4.1 + tm 6.63 / Mule 2.2 (WAKAMURASAKI) PL02
     X-Mime-Composer: mime.el + tiny-mime 5.12
     X-Ml-Count: 32

     [1  (text/plain)]
       I put tm6.63.tar.gz in ftp.jaist.ac.jp.

       In this version, tm-view uses new MIME encoding/decoding engine
     ``mel (MIME encoding library''. This library has internal/external
     encoding/decoding engine. If data is smaller than a limit, tm-view
     uses internal decoder, otherwise external decoder.

     [2 tm6.63.tar.gz ([anon-ftp] ftp.jaist.ac.jp:/pub/GNU/elisp/mime/alpha)]

     [3  (text/plain)]
     ----
     MORIOKA, Tomohiko <morioka@jaist.ac.jp>

tm-view-cs_en.texi tm-view-ch_en.texi tm-view-cb_en.texi

content-separator
=================

Content-separator is displayed to represent boundary of contents.

Content-separator is displayed by function 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.

Function mime-viewer/default-content-separator cnum cinfo ctype params subj

Display content-separator. CNUM is content-number of a content. CINFO is content-info of the message. CTYPE is content-type of a content. PARAMS is Content-Type field parameters of a content. SUBJ is subject.

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

Commands of mime/viewer-mode
****************************

mime/viewer-mode has following functions:

u
     goes to the upper content (returns to the Summary mode if the cursor is sitting on the top content (*1))

p
     goes to the previous content

n
     goes to the next content

SPC
     scrolls up

M-SPC
     scrolls down

DEL
     scrolls down

RET
     goes to the next line

M-RET
     goes to the previous line

<
     goes to the beginning of message

>
     goes to the end of message

v
     playbacks a content            (*2)

e
     extracts a file from a content (*2)

C-c C-p
     prints a content               (*2)

f
     displays X-Face in the message

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.

[Notice]

 1. Not return to the Summary mode unless tm-view has been setup using tm-mh-e, tm-gnus, tm-rmail etc.

 2. Actual playback/extract/print will be performed by a method.