ユーザーガイド

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

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

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

## Haiku のメールシステム

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

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

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

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

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

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

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

- mail_daemon は、メールの受信 / 送信を行い、普通のファイルに保存します。

- Tracker ウィンドウおよびクエリは、メールファイルを検索および表示します。

- メールアプリケーションは、メールファイルを閲覧し、People アプリケーションによるシステム全体に渡るコンタクト管理にしたがって、新規メッセージを作成します。

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

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

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

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

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

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

## クエリを使う

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

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

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

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

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

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

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

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

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

### クエリのサンプル

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

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

## 追加のヒント

- クエリを、"クエリ" で保存せず、"クエリテンプレート" として保存するなら、その起動は結果ウィンドウではなく、検索…ウィンドウとなるでしょう。そのほうが、件名または送信元に対する検索文字列の交換や、たとえば、"2 days" タイムリミットを "3 days" に変更することが容易にできます。

- Tracker 設定で、"先行入力フィルタリング (type-ahead filtering)" を有効にすると、さらにクエリの結果をよりすばやくフィルタリングできます。たいてい、すべてのメールを過去 3 日間でクエリし、そこから先行入力フィルタリングで進むだけで充分です。大きな利点は、検索する属性を正確に指定する必要がないことです。フィルタリング中は、表示されている属性がすべて考慮されます。

- RelatedMail は、送信済メールの同じ主題 / 差出人 / 時間枠などですべてのメールに対してクエリするすてきな小さなアプリケーションです。一種の、メールアプリケーションのクエリ (Queries) メニューが行うはずのものです。