[ < ] [ > ]   [ << ] [上] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

9.2 Mew で新聞を読む

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

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

  1. 諸設定

    以下の各行を ‘~/.mew.el’ ファイルの最後に書いてください:

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

    ;; (setq mew-shimbun-use-unseen t) ;; (11)

     
    (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.national’,
            ;; ‘yomiuri.sports’ などを一括して取得します。
            ("yomiuri"
             ("yomiuri.national" . 2)
             ("yomiuri.sports". 2)
             ("yomiuri.world". 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’ ファイルを保存 するようになります。ただし、確実 (12) に保存するわけではありません。既読になった情報を確実に 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)
    ;;———————————————————————-
    

[ < ] [ > ]   [ << ] [上] [ >> ]

この文書はTSUCHIYA Masatoshiによって2019年1月月30日にtexi2html 1.82を用いて生成されました。