Specifications for Search Engines List Version 8.1 検索エンジンリストバージョン8の仕様書 (改訂版) 対応バージョン: Donut RAPT #127 以降 Donut Q 81 以降 1.用語定義 -------------------- [セクション] キー=データ -------------------- このファイルでは、上記の通り呼称します。 2.概要 ・検索エンジンリストバージョン8(以降 Ver8)は、 Ver2 以降対応の Donut とほぼ  互換があるので、最新のリストファイルを Ver2 以降対応の Donut で使用できます。  (ただし、当然ながら拡張機能は非対応です。) ・基本的に、Donut では、同一セクション内での各キーの並び順は無関係です。 ・情報量が 1 セクションあたり 32KB 以上あると動作が遅くなることがあります。 ・数字キーは以下の通りのルールでインクリメント(増加)されていきます。  01, 02, 03, ..., 09, 10, 11, ..., 99, 100, 101, ...  C 言語的記述をするならば、"%02d" というフォーマットになります。  01〜32767 までの 32767 個まで有効です。 ・キーは大文字・小文字を問いませんが、互換性のため、規定通りにすることを推奨し  ます。 ・Donut は、データ長 INTERNET_MAX_PATH_LENGTH(2048 文字*) まで認識します。 ・個々のセクション名の長さは、データ長 MAX_PATH(260 文字*) まで認識します。  また、関連 API の仕様上、1 ファイル内のセクション名の合計バイト数は 32KB 未満  である必要があります。  (実際には、セクション数により、さらに小さくなります。   セクション名の合計バイト数+セクション数<32KB、ということです。) *文字長については、Unicode 版のときは文字数、Mbcs 版ではバイト数となります。 3.各セクションについて ■[SearchBar] セクション -------------------- [SearchBar] ListVersion=9 (必須) ListCountSelect=5 現在選択されているインデックス番号 DefaultIndex=0 Donut 起動時の既定インデックス番号 CategoryCx=180 検索エンジンリストボックスの幅 CategoryCy=180 検索エンジンリストボックスの高さ(あまり意味なし) lf.lfFaceName=MS UI Gothic lf.lfPointSize=9 lf.lfWeight=400 lf.lfItalic=0 lf.lfUnderLine=0 lf.lfStrikeOut=0 lf.lfCharSet=128 -------------------- Donut は、検索エンジンリストバージョンを、ListVersion キーで取得します。 このキーがない場合、Donut は、"ListVersion=1" として扱います。 Donut クライアントがサポートしている最新版のリストバージョンにマッチしない場合 内部で変換処理が走ります。なるべく最新の形式のリストをお使いいただくことをお奨 めします。 インデックス番号は、0 から始まります。検索エンジンリストの数字キーは、01 から 始まります。1 つずれているので、即値指定する場合は気をつけてください。 DefaultIndex キーで規定の検索エンジンを指定できます。 Donut の起動時に読み込まれ、ListCountSelect キーより優先度が高くなっています。 また、検索のたびに規定の検索エンジンに戻す設定も可能です。 -> #130: [Donut のオプション]-[ペイン]-[検索バー]-[検索するごとにリスト項目を標準に戻す] -> Q 87: [Donut のオプション]-[各種バー]-[検索バー]-[検索するごとにリスト項目を標準に戻す] lf. で始まるキーは、検索エンジンリストボックスのフォント設定です。 省略時かつメイリオフォントが使用可能な環境では、メイリオフォントが使用されます。 ■[Search-List] セクション -------------------- [Search-List] ListCount=22 01=ソース表示 -------------------- 後述の検索エンジンリストの並び順を定義します。 ■[<検索エンジン名>] セクション -------------------- [<検索エンジン名>] ID= Style= FrontURL= BackURL= Encode= -------------------- ▼ID キー 検索エンジンの識別子 Donut の内部で使用する識別子です。この部分は変更しないでください。 独自に検索エンジンを追加する場合は指定する必要はありません。 ▼Style キー 以下のフラグの値のビット和を保存します。 0x00000001:Enable 検索エンジンリストボックスに表示します。 0x00000002:Separator セパレータとします。このフラグが立っていると、FrontURL と BackURL は無効です。 0x00000004:Group 後述する検索エンジングループであることを示します。このフラグが立っていると、FrontURL と BackURL は無効です。 0x00000010:Images マルチメディア設定です。画像のダウンロードを許可します。 0x00000020:Videos マルチメディア設定です。動画の再生を許可します。 0x00000040:Sounds マルチメディア設定です。音の再生を許可します。 0x00000080:NoScripts セキュリティ設定です。スクリプトの実行を禁止します。 0x00000100:NoJava セキュリティ設定です。Java の実行を禁止します。 0x00000200:NoRunActiveX セキュリティ設定です。ActiveX の実行を禁止します。 0x00000400:NoDLActiveX セキュリティ設定です。ActiveX のダウンロードを禁止します。 0x00000800:UseCustomDLCtls マルチメディア設定・セキュリティ設定を有効にします。OFF のときは、Donut のデフォルト設定を使用します。 0x00001000:ShellExecute 実行可能ファイルであることを示します。このフラグが立っていると、検索実行時、キーワードを無視します。 0x00002000:ServerEncode Encode キー処理後に検索キーワード全体を URL エンコードします。 0x40000000:Silent セキュリティ設定です。すべてのダイアログを非表示にします。(#127+, Q86+) ※Separator, Group, ShellExecute はいずれか1つだけ含むことができます。  Donut は、最初にこの Style キーを読みに行き、タイプを判別してから  他のキーを読むようになっています。  そのため、不要なキーは無視されます。  また、Donut でリスト編集時にそれら不要なキーは削除されます。 ▼FrontURL/BackURL キー 検索キーワードの前後につくクエリを定義します。 ここで @post: で始まる文字列がある場合、以降のパラメータを POST データとして 処理し、そのパラメータをクエリから削除します。 ▼Encode キー 検索キーワードのエンコーディング方式を指定します。 0:変換なし キーワードをそのまま渡します。 1:Shift_JIS(URL encode) キーワード中の記号など一部の文字をエンコードします。 2:EUC-JP キーワードを EUC-JP でエンコードします。 3:UTF-8 キーワードを UTF-8 でエンコードします。 4:base64-encode キーワードを base64 でエンコードします。 5:base64-decode キーワードを base64 でデコードします。 ■[<検索エンジングループ名>] セクション -------------------- [<検索エンジングループ名>] Style=5 ListCount=3 01=検索エンジン名 1 02=検索エンジン名 2 03=検索エンジングループ名 2 -------------------- 同じキーワードで複数の検索エンジンで同時に検索できます。上記の例のように、 グループの中にグループを含めること(グループのネスト)も可能です。 -------------------- [検索エンジングループ名 1] Style=5 ListCount=1 01=検索エンジングループ名 2 [検索エンジングループ名 2] Style=5 ListCount=1 01=検索エンジングループ名 1 -------------------- ただし、上記のような、無限ネストはしないでください。 Donut の応答がなくなります。 ◎設定例◎ -------------------- [Google 日本] Style=1 // 1(画面に表示する) Encode=3 // 3: キーワードを UTF-8 エンコーディングする FrontURL=http://www.google.com/search?num=50&hl=ja&lr=lang_ja&q= [--ShellExecute--] Style=3 // 1(画面に表示する) + 2(セパレータ) [メモ帳] Style=4097 // 4096(0x1000: ShellExecute のフラグが立っていると、キーワードは無視されます) FrontURL=notepad.exe // .exe / .url / .lnk など BackURL= // 実行引数 [Group search] Style=5 // 1(画面に表示する) + 4(グループ) ListCount=2 01=Google 日本 02=Yahoo! JAPAN [個別:名前だけ、非表示] Style=0 // 0(画面に表示しない) -------------------- 上記、データ部に // で始まる個所は実際には記述しないでください。 ※ShellExecute属性のとき、基本的にキーワードは無視されますが、  変数(後述)指定時はファイル呼び出しのパラメータとして  半角スペース区切りで渡す事ができます。  また、エンコード指定は無効です。(Encode=0 と同等) 4.検索クエリ引数 {searchTerms} すべてのキーワード {0} すべてのキーワード {1}-{9} スペースで区切った時の 1〜9 番目のキーワード {title} アクティブタブのタイトル {url} アクティブタブの URL {url} が http://www.example.com/aaa/bbb/ccc.php?key=xxxx&val=yyyy だとすると {scheme} アクティブタブのスキーマ (http) {host} アクティブタブのホスト名 (www.example.com) {path} アクティブタブのホストとクエリを除いたパス部分 (/aaa/bbb/ccc.php) {path:0} {path} の第一階層 (/aaa) {path:1} {path} の第二階層 (/bbb) {path:2} {path} の第三階層 (/ccc.php) ... {path:9} {path} の第十階層 {year} nnnn年 {month} 0n月 (前ゼロあり) {day} 0n日 (前ゼロあり) {hour} 0n時 (前ゼロあり) {minute} 0n分 (前ゼロあり) {second} 0n秒 (前ゼロあり) {-month} n月 (前ゼロなし) {-day} n日 (前ゼロなし) {-hour} n時 (前ゼロなし) {-minute} n分 (前ゼロなし) {-second} n秒 (前ゼロなし) {minute:0} 分の10の位 (14 分だったら 1) {minute:1} 分の 1の位 (14 分だったら 4) 2010/05/18 RAPT absorb@jcom.home.ne.jp http://rapt21.com