インデックス |
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" クエリ中に維持するために、メールのメニュー
を使用できましたが、その方法を積み重ねる傾向があります…1 つの解決法は、もちろん、単に返答を始めて下書きとして保存することです。しかし、返事を書くつもりがなく、後でメールを再度読みたいだけならば、それは理想的ではありません。
さらに良い、
あるいは、特定のプロジェクトのために別のステータスを使用します。たとえば、ステータス "HUG" ("Haiku ユーザーガイド" 用) を作成し、そこに、ユーザーガイドのコンテンツに影響をおよぼすかもしれないすべてのメールを集めます。それらは、いくつかの機能を変更または導入する、コードの変更に関するコミットメッセージのようなメール、または、ユーザーガイドを改善すると感じるあらゆるメールです。
どのような場合でも、ステータス名を短くするように努めてください。その方が、常に Tracker 中で通常の幅の "Status" 列に適合します。
ステータスをセットするために、メールアプリケーションでメールを開く必要はありません。Tracker アドオン、Mark as Read および Mark as... で、いくつかのメールファイルを選択し、一度にそれらのステータスを設定できます。
クエリを使う
確かに、メールをすべて格納するためにフォルダーを指定し、しかもそれを開けられます。そこにユーザーのメールのすべてがあります。しかし、時間とともにフォルダーは込み入ってきます。そして、すべてを表示することは何千ものファイルのようにますます長くかかり、それらの属性を解析し、並び替えしなければなりません。同様に、たいていの場合、2 年前のナイジェリアの王子たちと彼らの相続問題のメールには実際に関心がありません…
メールを探すためのクエリ
クエリを使うことで、メールの表示範囲を絞れます。実際、Deskbar 中のメールボックスアイコンはクエリを使っています。
メールによって、ユーザーがメッセージを保存したときにセットされます。
サブメニューは、ステータス "Draft (下書き)" に対するクエリを行います。このステータスは、メッセージを保存したときに、および は、単に普通のフォルダーへのリンクです (私見ではあまり便利ではありません)。
サブメニューは、ステータス "New (新着)" に対するクエリによって現れます (ところで、同じクエリがメールボックスにメールがあることを示すため、メールボックスアイコンを変更するのに使われます)。
独自のクエリ (または、フォルダー、アプリケーション、スクリプトなど) をそのコンテキストメニューに追加できます。それら、またはそれらへのリンクを、~/config/settings/Mail/Menu Links に入れてください。
クエリのサンプル
便利なクエリの例を以下に少し示します。
カスタムステータス "Later" を持つメールをすべて検索します。 | 過去 2 日間のメールをすべて検索します。 |
過去 2 週間に Ingo Weinhold から来たメールをすべて検索します。 | 過去 12 時間に Haiku commit list に投稿されたものをすべて検索します。 |
追加のヒント
クエリを、"クエリ" でなく、"クエリテンプレート" として保存するなら、その起動は結果ウィンドウではなく、検索…ウィンドウとなるでしょう。そのほうが、件名または送信元に対する検索文字列の交換や、たとえば、日時制限の "2 days" から "3 days" への変更が容易にできます。
Tracker 設定で、"先行入力フィルタリング (type-ahead filtering)" を有効にすると、さらにクエリの結果をよりすばやくフィルタリングできます。たいてい、すべてのメールを過去 3 日間でクエリし、そこから先行入力フィルタリングで進むだけで充分です。大きな利点は、検索する属性を正確に指定する必要がないことです。フィルタリング中は、表示されている属性がすべて考慮されます。