Go to the first, previous, next, last section, table of contents.


自分好みの Mew にするには

ここでは、Mew のデフォルトの動作を変更し、自分好みの Mew にする方法を説 明します。主に ~/.emacs で設定して下さい。

初級

ここでは、以下の変数について説明します。

Draft モードでは、`text-mode-hook'`mew-draft-mode-hook' の順 で評価します。`text-mode-hook'`auto-fill-mode' の設定して いない人は、 `mew-draft-mode-hook' を以下のように設定するのがよいか もしれません。

(setq mew-draft-mode-hook (function (lambda () (auto-fill-mode 1))))

毎回 Fcc: でバックアップを取りたい人は、以下を .emacs に設定して下さい。

(setq mew-fcc "+Backup")

自分へ Cc:(Dcc:) したい人は `mew-cc'(`mew-dcc')を設定して下さ い。

いつも Emacs のウインドウ全体で Mew を使いたい人は、以下の設定をして下さ い。

(setq mew-window-use-full t)

Summary モードの `SPC' は、`mew-summary-show-direction' によっ て、次のメールの表示の仕方が変わります。以下の値を設定できます。

`up'
上のメールを表示する。
`down'
下のメールを表示する。
`next'
読み進めている方向の次のメールを表示する。
`stop'
次は表示しない。

デフォルトは `next' です。いつもメールを下から読む人は、以下のよう にすればよいでしょう。

(setq mew-summary-show-direction 'up)

中級

ここでは、以下の変数について説明します。

Emacs 19のハイライトの機能は、`mew-highlight-lines-use' で制御しま す。`t' の場合、マウスのある行に色がつきます。真中のボタンをクリッ クしながら、マウスだけでメールを読む際にはとても便利です。しかし、この機 能は遅いので、デフォルトでは `nil' になっています。

Emacs 19を使っている際に、Summary モードで下線を引く機能は、 `mew-underline-lines-use' で制御します。`t' で引き、`nil' で引きません。デフォルトは `t' です。

いつも入れて欲しいヘッダは、`mew-header-alist' に連想リスト形式で定 義して下さい。以下に例を示します。

'(("X-fingerprint:" . "6B 63 38 88 67 5E 96 8E  CE A4 62 73 3F 11 64 94")
  ("X-URL:" . "http://fukuda.aist-nara.ac.jp/~kazu/"))
  )

上級

ここでは、以下の変数について説明します。

Mew の終了時に、Summary モードのマークをきちんと処理するには、以下のよう に `mew-init-hook' を定義する必要があります。

(setq mew-init-hook
      (function
       (lambda ()
	(add-hook 'kill-emacs-hook (function mew-mark-process-all-folders)))))

Message モードや Draft モードでヘッダを色分けしたい人のために、以下に例 を示します。色は自分の好みを選んで下さい。

(cond
 ((and window-system (string-match "^19" emacs-version))
      (setq hilit-mode-enable-list  nil
	    hilit-background-mode   'light
	    hilit-inhibit-hooks     nil
	    hilit-inhibit-rebinding nil)
      (require 'hilit19)
      ;;
      (add-hook 'mew-message-hook
		'hilit-rehighlight-buffer-quietly)
      (hilit-set-mode-patterns 
       '(mew-message-mode)
       '(("^Subject:.*$" nil msg-subject)
	 ("^From:.*$" nil msg-from)
	 ("^X-.*:.*$" nil msg-quote)
	 ("^>.*$" nil msg-quote)
	 ("^[A-Za-z][A-Za-z0-9-]+:" nil msg-header)))
      ;;
      (add-hook 'mew-draft-mode-hook
		'hilit-rehighlight-buffer-quietly)
      (hilit-set-mode-patterns 
       '(mew-draft-mode)
       '(("^Subject:.*$" nil msg-subject)
	 ("^From:.*$" nil msg-from)
	 ("^>.*$" nil msg-quote)
	 ("^[A-Za-z][A-Za-z0-9-]+:" nil msg-header)))
      )
 )

引用ラベルは、引用するフィールドを `mew-cite-fields'、ラベルの書式 を `mew-cite-format' に定義します。引用記号は `mew-cite-prefix' に指定します。デフォルトは、以下のようになってい ます。

(defvar mew-cite-fields '("From:" "Subject:" "Date:")
(defvar mew-cite-format "From: %s\nSubject: %s\nDate: %s\n\n")
(defvar mew-cite-prefix "> ")

引用ラベルに Message-ID: を加え、ユーザ名付の引用記号にするには、 以下のようにします。

(setq mew-cite-fields '("From:" "Subject:" "Date:" "Message-ID:"))
(setq mew-cite-format "From: %s\nSubject: %s\nDate: %s\nMessage-ID: %s\n\n")
(setq mew-cite-prefix-function 'mew-cite-prefix-username)

フック

Mew で用意されているフックをまとめます。

`mew-init-hook'
Mew の起動時に評価されます。
`mew-summary-mode-hook'
Summary モードに入るときに評価されます。
`mew-message-mode-hook'
Message モードに入るときに評価されます。
`mew-message-hook'
メールが Message モードで表示される度に評価されます。
`mew-draft-mode-hook'
Draft モードに入るときに評価されます。
`mew-cite-hook'
Draft モードで引用する際に呼ばれます。通常 supercite を設定するために使 います。
`mew-send-hook'
メールを送信する前に評価されます。
`mew-quit-hook'
Mew の終了時に評価されます。
`mew-summary-inc-sentinel-hook'
inc が終了する際に評価されます。
`mew-summary-scan-sentinel-hook'
scan が終了する際に評価されます。
`mew-summary-exec-hook'
Summary モードの `x' の実行が終了する際に評価されます。

Mew の起動を速くする

長い間使うと Mew の起動が次第に遅くなる理由は、フォルダ数が増えているか らです。Mew は、起動時にフォルダ名の一覧を集めていることを思い出して下さ い。

Mew は起動時に以下の MH のコマンドを起動します。

folders -recurse -fast

このコマンドは非常に遅いのですが、アルゴリズムの改良により10倍以上速くな ります。folders は、最下層のフォルダも、その下にフォルダがないか調べます。 しかし、その下にフォルダがないのは、そのディレクトリのリンク数が 2 であ れば明らかです。よって、リンク数が 2 のディレクトリの下は、検索しないよ うにすればいいのです。

このように folders を速くするには、附属のパッチ (patches/mh/folder.c.patch)を MH の uip/folder.c に当てて下さい。

この方法がいやな人は、cron で folders を叩き ~/Mail/.folders に結果を入 れておけばいいでしょう。Mew は ~/Mail/.folders がある場合はこちらを読み 込み、folders を実行しなくなります。

folders -recurse -fast > ~/Mail/.folders


Go to the first, previous, next, last section, table of contents.