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

9.2 Mew で新聞を読む

Mew Shimbun は `shimbun' と Mew (version 2.1 以降) とともに使うこと を意図した Emacs Lisp プログラムです。Mew, APEL およ び FLIM もインストールされていれば、emacs-w3m をインストールす るときに一緒にインストールされます。

6.2 Mew で HTML メールを読む も参照することをお勧めします。

  1. 諸設定

    以下の各行を `~/.mew.el' ファイルの最後に書いて下さい:

     
    ;;; mew-shimbun のロード、キー定義
    

    ;; (setq mew-shimbun-use-unseen t) ;; (12)
     
    (require 'mew-shimbun)
    (define-key mew-summary-mode-map "G"  (make-sparse-keymap))
    (define-key mew-summary-mode-map "Gg" 'mew-shimbun-goto-folder)
    (define-key mew-summary-mode-map "GG" 'mew-shimbun-goto-unseen-folder)
    (define-key mew-summary-mode-map "Gi" 'mew-shimbun-retrieve)
    (define-key mew-summary-mode-map "GI" 'mew-shimbun-retrieve-all)
    (define-key mew-summary-mode-map "Gr" 'mew-shimbun-re-retrieve)
    (define-key mew-summary-mode-map "GR" 'mew-shimbun-re-retrieve-all)
    (define-key mew-summary-mode-map "Ge" 'mew-shimbun-expire)
    (define-key mew-summary-mode-map "GE" 'mew-shimbun-expire-all)
    
    ;; mew-shimbun-folder-groups に Mew で購読する `shimbun' servers 及び
    ;; group を設定します。それぞれの要素は
    ;; ("folder" ("server.group" . range) ...) の形式です。range には
    ;; all, last, および数字が指定できます。
    
    (setq mew-shimbun-folder-groups
          '(;; `+shimbun/yomiuri' という folder に `yomiuri.shakai',
            ;; `yomiuri.sports' などを一括して取得します。
            ("yomiuri"
             ("yomiuri.shakai" . 2)
             ("yomiuri.sports". 2)
             ("yomiuri.kokusai". 2))
            ;; `+shimbun/security-memo' に `security-memo.memo' を取得します。
            ("security-memo"
             ("security-memo.memo" . 2))
            ("slashdot-jp"
             ("slashdot-jp.story" . last))
            ;; このように、異なる server の group も一つの folder
            ;; (`+shimbun/emacs') で読むことができます。
            ("emacs"
             ("airs.wl" . last)
             ("emacs-w3m.emacs-w3m" . last))
            ;; `+shimbun/hns/arisawa', `+shimbun/hns/miyoshi' にそれぞれの
            ;; 日記を取得します。
            ("hns/arisawa"
             ("hns.arisawa" . last))
            ("hns/miyoshi"
             ("hns.miyoshi" . last))))
    

    以上で基本的な設定は終了です。他のユーザ定義変数は mew-shimbun グ ループを M-x customize-group するか、ソースを見て下さい。

  2. 記事の購読

    1. 最初の購読

      上記の設定をしたあと、まず G I しましょ う (mew-shimbun-retrieve-all)。 mew-shimbun-folder-groups で種々の設定を行なった `shimbun' folder が `+shimbun' 以下に出来ます。また、新たに group を追加した ときも G I すると便利です。なお、 `+shimbun' は mew-shimbun-folder という変数で好みのものに変 更できます。

    2. `shimbun' folder への移動

      通常の g (mew-summary-goto-folder) でも `shimbun' folder への移動はできますが、 G g (mew-shimbun-goto-folder) を使うと `shimbun' folder 限定で移動できます。また C-u G g と prefix をつけたときは、 新規記事のある folder (まだ scan をしていない folder) のみ表示します。 G G でも同様です。

    3. folder 単位での記事の取得

      `shimbun' folder で G i (mew-shimbun-retrieve) すると、 現在の `shimbun' folder で新規記事を取得します。

    4. 更新された記事の取得

      特定の記事を表示した状態で G r (mew-shimbun-re-retrieve) す ると、その記事が更新されていたら更新し、同時に新規記事も取得します。 C-u G r とすると、mew-shimbun-mark-re-retrieve に指定したマー ク (デフォルト値は `@') の記事の更新を試みます。CNET などで使うと 便利でしょう。

      G R (mew-shimbun-re-retrieve-all) では、すべての記事の新規 性を調べ取得しなおします。C-u G R ではリージョンで指定した範囲の記 事を対象とします。おそらくハイパー日記システムが稼働している日記サイトで は有意義なコマンドでしょう。

  3. 未読管理

    `~/.mew.el' ファイルで以下の設定を行なっていると、

     
    (setq mew-shimbun-use-unseen t)
    

    新規に取得した記事に mew-shimbun-mark-unseen で設定したマーク (デ フォルトは `*') がつくようになり、読むと自動的に消えます。

    通常、Mew の summary モードでマークをつける、あるいは消した後、scan をし ないと `.mew-cache' ファイルに反映されませんが、`~/.mew.el' ファ イルで以下の設定を行なうことにより、

     
    (setq mew-shimbun-use-unseen-cache-save t)
    

    Mew の終了時や folder の kill 時 (C-c C-q を使ったと き) に `shimbun' folder は自動的に `.mew-cache' ファイルを保存 するようになります。ただし、確実 (13) に保存するわけではありません。既読になった情報を確実に cache に保存する には、その folder を読み終わったときに `scan update' をする習慣をつ けると良いでしょう。

    未読に使うマークが `*' じゃダメ、という方は、変 数 mew-shimbun-mark-unseen をカスタマイズして下さい (上述)。 C-u N でそのマークを指定すると楽しい未読ライフをおくることができる と思います。

  4. 期限切れ記事の消去

    事前に mew-shimbun-expires を設定しておくと、期限切れ記事の消去を 行なうことができます。例えば:

     
    (setq mew-shimbun-expires
          '(("yomiuri" . 7)
            ("asahi" . 1)
            ("slashdot-jp" . 7)
            ("emacs" . 7)))
    

    上記のように設定しておくと、`+shimbun/yomiuri' は 7日、 `+shimbun/asahi' は 1日と期限を設定することができます。指定されてい ない `shimbun' folder は消去しません。G e (mew-shimbun-expire) でその folder の期限切れ記事を消去します。 G e (mew-shimbun-expire) で設定した全ての folder で記事の消 去を実行します。なお、一度消去した記事は復旧出来ませんので注意して下さい。

  5. 未読マークとして `$' を追加する方法

    `$' マークを新たに作成し、`$' マークを未読マークとして使うには、 次の記述を `~/.mew.el' ファイルに記述して下さい。なお、`$' 以 外の記号にしたければ、 http://www.mew.org/ml/mew-dist-2.0/msg01251.html を参照して記述を 生成して下さい。

     
    ;;----------------------------------------------------------------------
    ;;; `$' を未読マークとして使うための記述
    (setq mew-mark-unseen ?$)
    (setq mew-shimbun-mark-unseen mew-mark-unseen)
    (setq mew-mark-show-list (cons mew-mark-unseen mew-mark-show-list))
    (setq mew-mark-afterstep-spec
          (cons (cons mew-mark-unseen '(1 0 1 0 0 0 0))
                mew-mark-afterstep-spec))
    (setq mew-mark-spec
          (cons (list mew-mark-unseen "unseen" 0 nil nil nil nil nil)
                mew-mark-spec))
    (setq mew-highlight-mark-keywords
          (cons
           (cons mew-mark-unseen 'mew-face-mark-unseen)
           mew-highlight-mark-keywords))
    (defface mew-face-mark-unseen
      '((((class color) (type tty))
         (:foreground "green"))
        (((class color) (background light))
         (:foreground "deep pink" :bold t :italic t))
        (((class color) (background dark))
         (:foreground "thistle"))
        (t (:bold t)))
      "*Face to highlight the unseen mark"
      :group 'mew-highlight)
    (defun mew-summary-unseen (&optional count)
      "Put the unseen mark(default is '$') in COUNT times."
      (interactive "P")
      (mew-mark-put-mark-loop (function mew-summary-unseen-one) count nil))
    (defun mew-summary-unseen-one (&optional no-msg)
      "Put the unseen mark(default is '$') on this message."
      (mew-mark-put-mark mew-mark-unseen no-msg))
    (defun mew-summary-mark-unseen ()
      "Change the '*' mark into the '$' mark."
      (interactive)
      (mew-summary-exchange-mark mew-mark-review mew-mark-unseen))
    (defun mew-thread-mark-unseen ()
      "Put the '$' mark on all messages of the current sub-thread."
      (interactive)
      (mew-thread-mark mew-mark-unseen))
    
    (define-key mew-summary-mode-map "$"  'mew-summary-unseen)
    (define-key mew-summary-mode-map "m$" 'mew-summary-mark-unseen)
    (define-key mew-summary-mode-map "t$" 'mew-thread-mark-unseen)
    ;;----------------------------------------------------------------------
    


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

This document was generated by TSUCHIYA Masatoshi on November, 3 2005 using texi2html