[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6 Virtual folder

Virtual mode is a virtual folder and it consists of "selection" and "thread".

Selection

A virtual folder collecting necessary messages from several folders. Its folder name has "*" on the left side.

Thread

A virtual folder to visualize message flow with indentation, created from a folder or a virtual folder. Its folder name has "*" on the both sides.

In Virtual mode, you can use most commands that you can find in Summary mode.

If you put a mark on a message in Virtual mode and if corresponding Summary mode exists, the mark is also put onto the corresponding message there. But if you put a mark on a message in Summary mode, the mark is not put any corresponding messages in Virtual mode.

You cannot process marks in Virtual mode. Even if you type ‘x’ to process marks in Virtual mode, the cursor moves to corresponding Summary mode, if exsists, and you are asked to type ‘x’ again.

You should take note that Virtual folder is really virtual and it does not exist in file system. If you exit Mew, it then disappears. To know how to delete Virtual mode, please refer to Give me a break.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.1 Selection

Selection is a virtual folder collecting necessary messages from several folders. There are five ways to create selection:

m/

Listing messages marked with ‘*’ on a folder.

S

Sorting messages on a folder and display them. (No effect to the original folder.) See Sorting.

V

Listing messages which have relationship with the current message. See Dialog.

/

Listing messaged matched to a search condition on a folder. see Searching.

k/

Listing messaged matched to a search condition from all folders. See Searching.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.2 Sorting

To make selection by sorting messages, use ‘S’. Then you will be asked to input the field name as follows:

Sort by? (default date): 

There are some cases where strings stored in the specified field should not be compared as text. For example, while Subject: can be considered as text, Date: and X-Mail-Count: should be treated as date and number, respectively. In this way, we call the distinctions in methods of string sorting "modes". Default modes for typical field names are configured in ‘mew-sort-key-alist’.

When you want to specify the mode of sorting, the mode is followed by ‘:’. For example, to sort with the X-Mail-Count: field as arithmetic value (not text), input like this:

x-mail-count:num

You can complete field names and modes with ‘TAB’.

Mew provides four modes for sorting:

text

String with preceding "Re: " and or "Fw: " removed.

ml

The same as text but preceding mailing-list-string removed.

num

Number.

date

Date.

The default field name, your response to the prompt "Sort by?", can be specified in ‘mew-sort-default-key’. The following example changes the default value from "date" to "x-ml-count".

(setq mew-sort-default-key "x-ml-count")

You can also set a default field name for each folder by ‘mew-sort-default-key-alist’. For folders not explicitly specified here, ‘mew-sort-default-key’ is used for their default field name. The following is an example that specifies "subject" for the +inbox folder and "x-mail-count" for the +mew-dist folder.

(setq mew-sort-default-key-alist
      '(("+inbox" "subject")
        ("+mew-dist" "x-mail-count")))

To really sort messages in a local folder, use ‘M-s’. This command is not available in remote folders.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.3 Dialog

Mew can list messages which have relationship with the current message. Let’s call this "dialog". This is different from thread described later in the following points:

To use the feature of dialog, execute ‘kI’ to create database. Since new messages are not automatically registered into the database, you should periodically execute ‘kI’. ‘kI’ updates the database incrementally by default. This method is fast but garbages are left. So, sometime you should type ‘C-ukI’ to update the database fully.

To make dialog, type ‘V’ on the current message. This command displays him, his ancestors, and his children only. His brothers and so on are not shown. If you display the entire of the family, type ‘V’ again on the first message of the dialog, which is the origin of the family.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.4 Searching

Mew provides the following method to search messages:

?

Put the ‘*’ mark onto messages in this folder, which are matched to a specified pattern. Either ‘mewl’ or ‘grep’ is called according to the specified pattern.

C-u?

?’ with a region specified.

/

Make selection with messages in this folder, which are matched to a specified pattern. Either ‘mewl’ or ‘grep’ is called according to the specified pattern.

C-u/

/’ with a region specified.

We can also search messages with a search engine, including Spotlight, Windows Desktop Search, etc. This feature is supported by the following commands.

k?

Put the ‘*’ mark onto messages in this folder, which are matched to a specified pattern.

k/

Make selection with messages in all folders, which are matched to a specified pattern.

C-uk/

Make selection with messages in specified folders, which are matched to a specified pattern. If you want to specify multiple folders, separate them with ",". You can also use a wildcard "*".


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.5 How to input search conditions

If you type ‘?’ or ‘/’, Mew asks you to input search pattern as follows:

mewl/grep pick pattern: 

If you specify just a keyword, Mew executes ‘grep’. On the contrast if you type an expression, Mew calls ‘mewl’.

Here is a list of expression elements. (In the strong order)

field=string

Match if the "field" field contains the "string" string (case-insensitive). If you specify "head", it means the entire header.

field==string

Match if the "field" field contains the "string" string (case-sensitive). If you specify "head", it means the entire header.

field!=string

Match if the "field" field does not contain the "string" string (case-insensitive). If you specify "head", it means the entire header.

field!==string

Match if the "field" field does not contain the "string" string (case-sensitive). If you specify "head", it means the entire header.

( <pattern> )

Evaluate <pattern> first.

! <pattern>

Match if not <pattern>.

<pattern1> & <pattern2>

Match if <pattern1> AND <pattern2>. You can omit this.

<pattern1> | <pattern2>

Match if <pattern1> OR <pattern2>.

Some examples are shown below.

(a) Messages whose From: contains "kazu".

from=kazu

(b) Messages whose To: contains "mew" OR Cc: contains "mew".

to=mew | cc=mew

(c) Messages whose To: contains "mew" OR Cc: contains "mew" AND From: contains "kazu".

(to=mew | cc=mew) & from=kazu

When you execute ‘?’ or ‘/’ and if you just type ‘RET’ to a pattern, you can specify a command to be executed.

Cmd opts pattern: grep -l -e 

When you use an search engine with ‘k?’ or ‘k/’, the pattern (including just a keyword and an expression) will be converted to the syntax of the search engine.

For example, you can write an expression, that From: is "kazu" and body contains "wine" but does not contain "bordeaux", as follows:

from=kazu wine ! bordeaux

If you set ‘mew-pick-pattern-list’ to a list of pattern, you can enjoy circular completion with ‘C-cTAB’. In this case, the first member is displayed as a default value.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.6 Search Engine

To operate search engines, the following commands are provided:

km

Make index for the current folder.

kM

Make index for all folders.

kc

Switch one search engine to another.

The followings are expiation of each search engines.

Hyper Estraier

Type ‘kM’ periodically. It’s OK to execute "mewest" on the command line instead. If you want to update the index for the current folder quickly, you can use ‘km’. Both ‘k?’ and ‘k/’ are available. When you specify folders with ‘C-uk/’, sub-folders, if any, are included in the target.

Spotlight

Type ‘kM’ just once. ‘km’ is not necessary. Both ‘k?’ and ‘k/’ are available.

Windows Desktop Search

Type ‘kM’ just once. ‘km’ is not necessary.

Google Desktop

Type ‘kM’ just once. ‘km’ is not necessary. Only ‘k/’ is available.

The default search engine is automatically set to the one found first. If you explicitly specify it, set ‘mew-search-method’ to one out of ’est, ’spotlight, ’wds, and ’google. The following is an example to choose Hyper Estraier.

(setq mew-search-method 'est)

[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.7 Highlighting a keyword

The keyword which you specified on search is stored in a buffer. You can display messages with the keyword highlighted. The commands to enable this functionality are as follows:

M-n

Display a message in the forward direction and find a keyword and highlight it. In Summary mode, the target is messages marked with ‘*’. In Virtual mode, it is all messages. If you repeat this command, text around the keyword is displayed from one to another. If no key word is set to the variable, this command first asks you a keyword.

C-uM-n

The same as ‘M-n’ except that you can change the stored keyword explicitly.

M-p

A reverse version of ‘M-n’.

C-uM-p

A reverse version of ‘C-uM-n’.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.8 Thread

When in the process of exchanging messages, the relationship of the messages is presented in a tree structure. Visualization of the structure with indentation is called thread. Here is an example:

  03/12 Hidenori Ohta  This weekend              |Let's go to StoneMagic
  03/13 Kazu-kun        +Re: This weekend        |Since it'll be rainy, 
  03/15 Hidenori Ohta   | +Re: This weekend      |OK. Get together at 12
  03/14 Oda-chan        +Re: This weekend        |Sounds lovely. I'd lik

The thread feature is implemented as virtual folder. For instance, if you make threads for +inbox, a buffer *+inbox* is prepared.

To make thread, the following commands exist.

tt

Make threads from Summary mode or selection and move the cursor to the current message. If corresponding threads already exist, switch to the Virtual mode. When this command is executed on threads, switch to the original folder and move the cursor to the current message.

C-utt

Make threads for messages in the region.

mt

Make threads for messages marked with ‘*’.

tr

Make threads for messages matched to a regular expression.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.9 Thread operations

Here are the commands used for moving to thread presentation.

tp

Move to the top of the current thread. If the current message is a top node, move to the top of the previous thread.

tn

Move to the top of the next thread.

^

Move to the parent message of the current message. (Available in both Summary and Virtual)

&

Move to the child message of the current message. (Available in both Summary and Virtual)

(

Search backward by one sibling message of the current message.

)

Search forward by one sibling message of the current message.

Here are commands to mark messages in a thread.

t*

Put the ‘*’ mark all messages of the current sub-thread. Please refer to Target ‘* for more information.

t$

Put the ‘$’ mark all messages of the current sub-thread. Please refer to Escape ‘$ for more information.

td

Put the ‘D’ mark all messages of the current sub-thread. Please refer to Delete ‘D’ and ‘X for more information.

tM-d

Put the ‘X’ mark all messages of the current sub-thread. Please refer to Delete ‘D’ and ‘X for more information.

to

Put the ‘o’ mark all messages of the current sub-thread. Please refer to Refile ‘o for more information.

A command to unmark all messages of the current sub-thread is ‘tu’.

Here are commands to manipulate a thread:

tSPC

Hide children and leave the parent only. If its children are hidden, "+" is displayed on the parent. Also, if this command is executed on a message whose children are hidden, they appear.

ta

Toggle appearance of children for all threads.

tg

Graft a thread to a message. To specify which thread is grafted, type ‘C-SPC’ on the root of the thread. Then move onto your target message, and typing ‘tg’ grafts the thread to the target message as children.

If ‘mew-use-thread-separator’ is ‘t’, threads are distinguished by a separator defined by ‘mew-thread-separator’ (its default value is "–").


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated on February 16, 2023 using texi2html 5.0.