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

8. オフライン処理

Wanderlust にはオンラインモードとオフラインモードがあります。


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

8.1 オフラインモード

Wanderlust にはオンラインモードとオフラインモードがあります。オフライン モードでは、ネットワーク経由でなければ読めないメッセージにはアクセスでき ません(キャッシュされていればアクセスできます)。

モードラインの ‘[ON]’ という表示は、オンラインモードにあることを示 しています。モードラインが ‘[--]’ という表示になっているときはオフ ラインモードです。フォルダモード、サマリモードで M-t を押すとオフ ライン/ オンラインの切り替えができます。

オフラインモードではサマリモードの np の動作が変わり、 キャッシュされていないメッセージへは移動しなくなります。

~/.wl’ などで変数 wl-pluggednil に設定してから起 動すると、起動時からオフラインモードとなります。


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

8.2 オフラインモードで実行できる操作

以下の操作は(対象となるメッセージがキャッシュされていれば) オフラインモー ドでも実行できます。(変数 elmo-enable-disconnected-operation (後 述) が non-nil のとき。) See section サーバ・ポート別のオンライン、オフラインの切り替え, See section 起動時のオフライン状態設定.

オフラインモードで行ったこれらの操作が、ネットワーク経由でサーバ上に反映 されるのは、Wanderlust がオンラインモードになった瞬間です。

変数 elmo-enable-disconnected-operationnil なら、これら のネットワークフォルダに関するオフライン処理を実行せず、オフライン中のリ ファイル/コピー等の操作は単にエラーになります。


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

8.2.1 メッセージの送信

オフライン状態でメール/ニュース記事の送信操作をすると、送信の予約がされ ます。(‘im-wl.el’ をお使いの場合は、関係ありません。) オフラインの ときに送信予約されたメッセージはキューフォルダ ‘+queue’ に溜ります。 溜ったメッセージは、オンラインになったときに一気に送信されます。

オフラインのうちに ‘+queue’ を訪れて、キューにあるメッセージの内容 を確認できます。メッセージを削除することも可能です。(削除されたメッセー ジはオンラインになっても送信されません。)


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

8.2.2 リファイル/コピー(IMAP4)

オフライン状態のあいだに実行された IMAP フォルダに対するリファイル/コピー 操作はキューに溜められ、オンラインになったときにサーバ側に反映されます。 オフライン・リファイル/コピーの後、リファイル/コピー先のフォルダを訪れ ると、オフラインでもメッセージが追加されているように見えます。

オフライン・リファイルのキュー処理時の削除処理は安全を期してサーバ上のメッ セージと ‘Message-ID:’ が一致した場合のみ実行されます。また、キュー処 理時にリファイル/コピー先に指定したフォルダへメッセージを追加できなかった 場合には、それらのメッセージを ‘+lost+found’ フォルダに追加します。


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

8.2.3 フォルダ生成(IMAP4)

IMAP フォルダの生成もオフライン状態で実行できます。オンラインになったと きにフォルダ生成がサーバに反映されますが、このとき、何らかの原因でフォル ダ生成が失敗してしまった場合、オフライン中に生成されたフォルダへリファイ ルされたメッセージは ‘+lost+found’ フォルダに追加されます。


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

8.2.4 マーク付け(IMAP4)

IMAP フォルダにあるメッセージに対する未読/既読の情報、および、重要マーク ‘$’ がついているかどうかも、オフライン中の変更がオンラインになった ときにサーバに反映されます。


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

8.2.5 プリフェッチ

ネットワークフォルダ (IMAP, NNTP, POP3, shimbun) にあるメッセージに対して、 プリフェッチの予約をします。プリフェッチを予約したメッセージには ‘u’ が付きますが、この時点ではキャッシュされておらず、オンラインになっ たときにサーバからプリフェッチされます。


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

8.3 サーバ・ポート別のオンライン、オフラインの切り替え

上記の M-t による操作ではネットワークの状態を一括して切り替えますが、 サーバ・ポート別にオンラインとオフラインを切り替えることもできます。

フォルダモード、サマリモードで C-t を押すと以下のような wl-plugged-mode に入り、このモードで各ポートの plug 状態を変更します。

 
Queuing:[ON] AutoFlushQueue:[--] DisconnectedOperation:[ON]
[ON](wl-plugged)
  [--]hosta
    [--]smtp        +queue: 2 msgs (1,2)        …sending queue
    [--]nntp(119)   +queue: 1 msg (3)           …sending queue
  [ON]hostb
    [--]imap4/cram-md5(143) %#mh/wl(prefetch-msgs:3,mark-as-important:1)
                            %inbox(delete-msgids:1)    …dop queue
    [ON]nntp(119)
    [ON]smtp

1行目はオフライン操作に関係する次の3つの変数の状態を表示しています。 それぞれのラベル欄で <SPC><RET> を押すことで 変数の値を簡単に変更できるようになっています。

 
"Queuing"               wl-draft-enable-queuing
"AutoFlushQueue"        wl-auto-flush-queue
"DisconnectedOperation" elmo-enable-disconnected-operation

ここで、‘[ON]’ はその変数の値が t であることを、‘[--]’ は nil であることを示しています。

また、2行目以降ではサーバとポートのオンラインとオフライン状態を表示し、 ‘[ON]’ はそのサーバやポートがオンラインであることを、 ‘[--]’ はオフラインであることを示しています (XEmacs と Emacs 21 ではアイコンで表示されます)。 そしてそれぞれの行で <SPC><RET> を押すことで 状態を切り替えることができます。

sending queue はオフライン送信時に ‘+queue’ フォルダに格納さ れている送信待ちのメッセージを指し、dop queue はオフラインで行った リファイル/コピー等の操作を指すとします。

そしてもし、これらの sending queue や dop queue があればその状態が画面に 表示されます。上記例では、sending queue には hosta の smtp 向けに 2 つ (queue フォルダの1番と2番)と、hosta の nntp 向けに 1 つ(3番)のメッセージ があり、dop queue には ‘%inbox’ の操作が1つと、‘%#mh/wl’ の操 作が2つあることを示しています。

このモードで2行目にある ‘(wl-plugged)’ を変更すると、 wl-plugged 変数が変更され、これによりモードラインの indicator と 全体の ポート plug 状態が ON/OFF されます。また、各サーバやポートの plug 状態を変更すると、elmo-plugged-condition (後述)の設定と各ポートの plug 状態により 2行目の ‘(wl-plugged)’ が変化します。


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

8.4 起動時のオフライン状態設定

前述の通り、‘~/.wl’ などで変数 wl-pluggednil に設 定してから起動すると、起動時からオフラインモードにすることができます。さ らに細かくサーバやポート毎にオフライン状態を設定することも可能です。併せ て変数 wl-reset-plugged-alist も参照して下さい。

通常、起動時には ‘~/.folders’ と wl-smtp-posting-server, wl-nntp-posting-server などから各ポートの plug 状態が自動的に追加 されますが、これらのポートの plug 状態を変更したり、上記以外のポートを追加 したりする場合には wl-make-plugged-hook に変更する関数を記述しま す。

 
(add-hook 'wl-make-plugged-hook
          '(lambda ()
             (elmo-set-plugged plugged値(t/nil) server port)
                     ;; server,portのplug状態を新規追加もしくは変更する
             (elmo-set-plugged plugged値(t/nil) server)
                     ;; port を省略するとserverの全portが変更される
                     ;; (port を省略して新規の追加はできない)
             ))

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

8.5 カスタマイズ変数

wl-plugged

この値を nil に設定して Wanderlust を起動すると、起動時からオフラ インモードとなります。

wl-queue-folder

初期設定は ‘+queue’。送信キューのメッセージが溜るフォルダ。

wl-auto-flush-queue

初期設定は t。オンラインになったときに自動的にキューを送信するか どうか。Non-nil なら自動的に送信します (一応 y-or-n-p で確認 します)。手動でキューを送信するには、フォルダモードで F を押してく ださい。

elmo-enable-disconnected-operation

初期設定は t。ネットワークフォルダに関するオフライン処理を実行する かどうか。Non-nil ならオフライン処理を実行します。

elmo-lost+found-folder

初期設定は ‘+lost+found’。オフライン・リファイル/コピーのキュー処理 でメッセージの追加に失敗したときにメッセージを退避させるフォルダです。

elmo-plugged-condition

初期設定は onewl-plugged の値は関数 elmo-plugged-p (引数なし)の戻り値に より決定されます。この変数 elmo-plugged-condition(elmo-plugged-p) の戻り値が t になる条件を各ポートの plug 状 態により指定します。

 
'one         : 1つ以上のポートが plugged なら plugged である
'all         : 全てのポートが plugged なら plugged である
'independent : ポートの plug 状態に関係なく wl-plugged (elmo-plugged)
               を参照する
function     : 関数 function の戻り値により変化する
 標準で用意されている関数
 'elmo-plug-on-by-servrs
             : 変数 elmo-plug-on-servers で指定したサーバの plug
               状態により変化する
 'elmo-plug-on-by-exclude-servers
             : 変数 elmo-plug-on-exclude-servers で指定した以外の
               サーバの plug 状態により変化する
                  elmo-plug-on-exclude-servers のデフォルト値は
                   '("localhost"
                     (system-name)
                     (system-name)からドメイン部を除いたもの)
                  である
 
例1:
 (setq elmo-plugged-condition 'all)
例2:
 (setq elmo-plug-on-servers '("smtpserver" "newsserver"))
 (setq elmo-plugged-condition 'elmo-plug-on-by-servers)
例3:
 (setq elmo-plug-on-exclude-servers '("localhost" "myname"))
 (setq elmo-plugged-condition 'elmo-plug-on-by-exclude-servers)
wl-reset-plugged-alist

初期設定は t。Non-nil なら Wanderlust の起動時にサーバ・ポート別 のプラグ状態を wl-plugged の値により初期化します。

nil なら、Emacs が動作している間、前回終了した時点のプラグ状態を 保持します。言い換えれば nil であっても Emacs を再起動すると初期 化されます。


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

この文書はYasutaka SHINDOHによって2011年5月月11日texi2html 1.82を用いて生成されました。