インデックス
Haiku のメールシステム
カスタムステータスを使う
クエリを使う
追加のヒント

ワークショップ: メールの管理

このワークショップでは、Haiku 環境下でメールを管理する方法について調べます。メールサービスがメールプレファレンスで正しく設定されており、読者がメールアプリケーションの基本的な特徴を理解していることを仮定しています。

index Haiku のメールシステム

読者がほかのオペレーティングシステムから Haiku へやってきたとしたら、おそらく、MS Outlook や Mozilla Thunderbird のような大きなアプリケーションを使っていたでしょう。それらはメールサーバーのアドレスなどの、すべての情報を入力する必要があり、また、それらは独自のコンタクトデータベースを使用しています。それらはメールの送信や受信を管理し、いくつかの特別なファイルに保管します。
メールクライアントの変更は、いくつかのエクスポート / インポートおよび変換が進行する面倒なことになることがあります。ほかになにか使えるものを調べるために、同時に複数のクライアントを使うことも、たまに問題が起こります。

Haiku のメールシステムはそれらとは異なったものです。それは、より小さな別々のモジュールに分かれています。

メールサーバーとの通信を管理する、mail_daemon があります。メールプレファレンスは、メールをチェックする頻度を設定する中心の 1 つであり、たとえば、メールアカウントや、メールをチェックする頻度を設定します。

受信または送信されたすべてのメールは、個別のメールファイルとして保存されます。ファイルは、ヘッダー情報 (差出人 (sender)、表題 (subject)、日付 (date) のような)、およびステータス (新規 (New)、受信済 (Replied)、送信済 (Sent) のような) を BFS 属性中に持っています。これにより、Haiku のすばやいクエリで、メールを検索 / フィルタリングできます。

browsing.png

メールはすべて別々のファイルなので、それらの閲覧はフォルダー内の (またはクエリの結果の) 画像ファイルを 画像ビューワ (ShowImage) でブラウズするのと同じぐらい容易なことです。Tracker ウィンドウを開いたままにしておくと、移動のために、前へ / 次へボタンを使うたびに、現在見ているファイルの選択が移動するのが見えるでしょう。
それらは別々のファイルなので、Haiku のメール以外のビューワを使ってもまったく問題ありません。

同様に、新規メッセージの作成はメール送信を管理する mail_daemon によって扱われるありふれたファイルの作成となります。コンタクト情報は、People アプリケーションに従います。

一言で言えば、ほかのメールクライアントが、メールサーバーとの通信からすべてのメールへのビューおよびそれらを検索およびフィルタリングするためのツールの提供に至るまで、あらゆることができる場所です。Haiku は一連の小さなツールと、一般的なファイル管理を使います。

特に、Tracker とクエリを使ってメールを管理するのは強力なアイデアです。得られる経験は、ファイル操作のあらゆる問題に移行できます。それが、画像、音楽、ビデオ、コンタクト、またはほかの任意の書類でも、Tracker の使用はファイル管理のコアとなります。
同様に、これらのシステムエリアの改良は、メールだけでなく、それらを利用するすべてのアプリケーションに役立ちます。

index カスタムステータスを使う

新着メールをブラウズする場合、さらに詳しくそれに関して考えるように、後でそれらのうちのいくつかに戻りたいと思うかもしれません。それらを "New messages" クエリ中に維持するために、メールのメニュー閉じる (Close and) | 「新着」のままにする (Leave as New) を使用できましたが、その方法を積み重ねる傾向があります…

1 つの解決法は、もちろん、単に返答を始めて下書きとして保存することです。しかし、返事を書くつもりがなく、後でメールを再度読みたいだけならば、それは理想的ではありません。

status.png

さらに良い、閉じる (Close and) | ほかの属性に変更… (Set to...) の使用は、新しいステータスを作成し、メールを分類するためにそれを使用するためです。たとえば、ステータスを、"後で (Later)" と呼ぶことができ、それから、より多くの時間が取れたときに、そのためにクエリを実行できました。
あるいは、特定のプロジェクトのために別のステータスを使用します。たとえば、ステータス "HUG" ("Haiku ユーザーガイド" 用) を作成し、そこに、ユーザーガイドのコンテンツに影響をおよぼすかもしれないすべてのメールを集めます。それらは、いくつかの機能を変更または導入する、コードの変更に関するコミットメッセージのようなメール、または、ユーザーガイドを改善すると感じるあらゆるメールです。
どのような場合でも、ステータス名を短くするように努めてください。その方が、常に Tracker 中で通常の幅の "Status" 列に適合します。

ステータスをセットするために、メールアプリケーションでメールを開く必要はありません。Tracker アドオン、Mark as Read および Mark as... で、いくつかのメールファイルを選択し、一度にそれらのステータスを設定できます。

index クエリを使う

確かに、メールをすべて格納するためにフォルダーを指定し、しかもそれを開けられます。そこにユーザーのメールのすべてがあります。しかし、時間とともにフォルダーは込み入ってきます。そして、すべてを表示することは何千ものファイルのようにますます長くかかり、それらの属性を解析し、並び替えしなければなりません。同様に、たいていの場合、2 年前のナイジェリアの王子たちと彼らの相続問題のメールには実際に関心がありません…

フォルダーを読み込むとき、ディスクから読み込まれたファイルを正しい並び順にし、それらをウィンドウ中に表示することに多くの時間が費やされます。非常に多くのファイルがあるフォルダーを開く必要があるならば、Tracker ウィンドウを、"不可視" にすることで待ち時間を短くできます、つまり、ウィンドウを最小化するか、あるいは別のワークスペースへ変更するかのいずれかです。それがどのように CPU 使用率に影響するか確かめるためには、プロセスコントローラーを観察してください。

メールを探すためのクエリ

クエリを使うことで、メールの表示範囲を絞れます。実際、Deskbar 中のメールボックスアイコンはクエリを使っています。

daemon-in-deskbar.png

下書きを開く (Open Draft) サブメニューは、ステータス "Draft (下書き)" に対するクエリを行います。このステータスは、メッセージを保存したときに、メールによって、ユーザーがメッセージを保存したときにセットされます。

Open Inbox Folder および Open Mail Folder は、単に普通のフォルダーへのリンクです (私見ではあまり便利ではありません)。

# 通の新着メッセージがあります (# new messages) サブメニューは、ステータス "New (新着)" に対するクエリによって現れます (ところで、同じクエリがメールボックスにメールがあることを示すため、メールボックスアイコンを変更するのに使われます)。

独自のクエリ (または、フォルダー、アプリケーション、スクリプトなど) をそのコンテキストメニューに追加できます。それら、またはそれらへのリンクを、~/config/settings/Mail/Menu Links に入れてください。

クエリ、~/config/settings/Mail/mailbox は特例です。それは、Deskbar 内のメールボックスアイコンを左クリックしたときに実行されます。その振る舞いを変えるなら、それをほかの任意のファイル (またはファイルへのリンク) に置き換えられます。単にファイル名を "mailbox" とするだけです。それはクエリである必要はありません。クエリのフォルダーへのリンク、スクリプト、またはアプリケーションでも同様に動作します。

index クエリのサンプル

便利なクエリの例を以下に少し示します。

query-1.png query-2.png
カスタムステータス "Later" を持つメールをすべて検索します。 過去 2 日間のメールをすべて検索します。
query-3.png query-4.png
過去 2 週間に Ingo Weinhold から来たメールをすべて検索します。 過去 12 時間に Haiku commit list に投稿されたものをすべて検索します。

index 追加のヒント