プラグイン管理
Lertaro は、モジュール化されたプラグインアーキテクチャを備えています。コア拡張機能、ネイティブ C# プラグイン、Flow Launcher コミュニティプラグインを 設定 → プラグイン で一元管理できます。
1. 画面構成と SDK バージョン
- Plugin SDK バッジ:画面右上に現在読み込まれている
Lertaro.PluginSdkのバージョンが表示されます。クリックすると 開発者ガイド に直接移動できます。 - 左右 2 ペインの独立スクロール:左側にインストール済みプラグイン一覧、右側に選択したプラグインの詳細と設定フォームが配置され、互いに干渉せず独立してスクロールできます。
プラグインの有効化と再起動
切り替え可能な全コンポーネントをオフにすると、プラグイン全体が無効になります。複数のプラグインを編集し、適用で保存してから編集を続けられます。適用後、設定をどの方法で閉じても、有効化状態が変わっていれば自動で静かに再起動します。OK は保存してすぐ閉じます。専用の再起動ボタンは不要です。保存せず閉じると未保存の変更を破棄します。この再起動は Info ログに一度記録されます。再起動後、App とユーザー別 Hook は無効なプラグインをロードしません。名前、バージョン、説明は表示されますが、コンポーネントと設定の表示には再度有効化して再起動してください。テーマと翻訳のコンポーネントスイッチは読み取り専用ですが、プラグイン全体は無効にできます。共有 Windows インデックスサービスは引き続き別名プラグインを使用します。
2. プラグイン詳細とコンポーネント設定
左側でプラグインを選択すると、右側にアイコン、名前、バージョン、概要が表示されます。
詳細タブ(Details)
- コンポーネント一覧:登録されているすべての機能コンポーネント(検索ソース、アクションプロバイダー、クイックナビゲーション項目、プレビューハンドラー等)を一覧表示。
- コンポーネント単位の個別スイッチ:各コンポーネントに 有効/無効チェックボックス が用意されています。ロックアイコンが付いた必須コンポーネントは無効化できません。
- 一括選択 / 解除:グループ内に複数の項目がある場合、「すべて選択/解除」リンクから一括切り替えが可能。
- 詳細ツールチップ:各項目の (!) にマウスを合わせると、コンポーネントの動作説明が表示されます。
設定タブ(Configure)
- インライン設定フォーム:プラグイン独自の設定項目が画面内に直接描画されます(テキスト入力、数値スライダー、トグル、ドロップダウン、グループタブ等)。
- アイコン入力フィールド:スキーマキーが
Iconのテキスト入力にはアイコンのプレビューが表示され、WPF Path Data を入力できます。完全な SVG/XML を貼り付けるとパスデータを自動的に抽出して結合し、無効な内容は消去してテーマ対応のダイアログで通知します。 - 複数行設定エディター:
StringListフィールドを展開したエディターでは自動折り返しを使用できます。実際の改行には判別用の薄い↵マーカーが表示されますが、これは表示専用で、保存値やコピーしたテキストには含まれません。 - 安全な変更適用と破棄:変更は保存するまでメモリ上に保持され、別のプラグインへ切り替えたりページを離れたりしても失われません。設定ウィンドウ下部の適用またはOKで、編集したすべてのプラグイン設定をまとめて保存します。キャンセル(またはウィンドウを閉じる操作)では、前回保存した値に戻ります。
CoreExtensions の検索種類フィルター
設定 → プラグイン → CoreExtensions → 設定 → 検索フィルターでは、結果を種類で絞り込む行を管理できます。同じ行が 2 か所に使われます。全体検索ウィンドウの左側にある種類フィルターと、クイック検索ウィンドウの検索ボックス下にある種類フィルターバーです。行をオフにすると両方から消え、@ キーワードの名前を変えると両方で名前が変わります。
オフにできる種類行はドキュメント、画像、動画、オーディオ、アーカイブ、アプリ、設定の 7 行で、ファイルとフォルダーは常に使用できます。
カスタムフィルターが項目分類の一覧として一本化され、各項目が二つの使い方を兼ねます:検索ボックスに :@<キーワード> と入力すると現在の結果を絞り込めます。フィルター行として表示をオンにすると同じ項目が クリックできる行になり、全文検索ウィンドウのサイドバーとクイックウィンドウの種類フィルターバーの両方に出ます。表示名が空、またはルールを展開した結果が空になる項目は非表示で、アイコンが空なら既定のマークを使います。ルールでは @<キーワード> で他の項目を参照できます:参照は再帰的に展開され、重複したパターンは除かれ、存在しない参照や循環参照は一致を生みません。無効な項目も参照できます。:@ と @ が検索するのはキーワードそのものなので、表示名を別に持つのは、キーワードを doc のまま行だけ翻訳語にするためのものです。
サイドバーだけを設定していた一覧はなくなりました。初回の起動でその項目はこの一覧に組み込まれ、行として表示する設定がオンになります。キーワードがすでに存在する項目は、重複を追加する代わりに既存の項目をオンにします。それ以外の項目は自身のルールと、これまで表示していた名前をそのまま引き継ぎます。
CoreExtensions インライン検索ウィンドウ
設定 → プラグイン → CoreExtensions → 設定 → エクスプローラー インライン ウィンドウで、インライン ウィンドウにショートカット コマンドを表示をオフにできます。インライン ウィンドウは、プラグインのショートカット コマンド(「快捷命令」グループなど)がファイル結果より前に並び、既定で選択される唯一の場所であるため、Enter は一致したファイルを開く代わりにコマンドを実行します。オフにするとインライン検索はファイルのみを対象にします。クイック ウィンドウとメイン ウィンドウには影響しません。
ブラウザのブックマークと履歴
ブラウザのブックマークと履歴プラグインは、設定した Chromium 系ブラウザおよび Firefox のプロファイルフォルダーを検索できます。既定のトリガーはブックマークが bb、履歴が bh です。プラグイン設定で両方のキーワードを変更でき、ブックマークまたは履歴のインデックスを個別に無効化することもできます。
ブラックリストには1行につき1つの文字列を入力します。ブックマークまたは履歴のタイトルや URL にいずれかのルールが含まれる場合、その項目は非表示になります。大文字と小文字を区別しない文字列の包含検索で、あいまい検索は使用しません。ルールはブックマークと履歴の両方に適用され、プラグインがキャッシュデータを再読み込みした後に反映されます。
ブラウザのローカルデータベースに一致するサイトアイコンがある場合、プラグインはデータベースをコピーせず読み取り専用で取得し、結果に表示します。サイトアイコンを読み取れない場合は、設定したブラウザアイコン、続いてブックマークまたは履歴の既定アイコンを使用します。
システム設定の検索
システム設定検索プラグインは、Windows が提供するコントロールパネルのローカライズ済みキーワードを使用します。たとえば env で環境変数の設定を検索でき、別名の手動登録は不要です。各検索語は、タイトルまたはキーワード内の単語の先頭に一致する必要があります。キーワードは Windows のバージョンと表示言語によって異なります。
3. Flow Launcher コミュニティプラグイン対応
ネイティブの Lertaro.PluginSdk に加え、Flow Launcher Bridge により Flow Launcher の豊富なコミュニティプラグインをそのまま利用できます。
多言語ランタイムと隔離環境
- 幅広い言語のサポート:C# (.NET)、Python 3.12、Node.js v20 LTS、および実行ファイル(
.exe)形式の Flow プラグインを実行。 - システム環境を汚さない独立環境:Python(
FlowData\PythonEmbeded-{arch})や Node.js(FlowData\NodeEmbeded-{arch})ランタイムは Lertaro のデータディレクトリ内に自動配置され、Windows のシステム PATH を変更しません。 - 依存関係の自動インストール:初回読み込み時、
requirements.txt(Python pip)やpackage.json(Node.js npm)に基づいて必要なライブラリをバックグラウンドで自動取得・構築します。
ストア機能とコマンドライン管理
検索ボックスから直接 Flow プラグインを管理できます:
flow install <キーワード>:Flow.Launcher 公式リポジトリを検索し、ワンクリックでダウンロード・展開・依存関係のセットアップを実行。flow update:インストール済み Flow プラグインの更新を確認し、一括アップデート。flow uninstall <プラグイン名>:プラグインをアンインストールし、ディレクトリをクリーンアップ。- 手動追加:ダウンロードしたフォルダーを
<ユーザーデータ>\FlowData\Plugins\に配置しても利用可能。
設定、トリガー文字、リッチプレビュー
- ActionKeyword の変更:設定 → プラグイン → Flow Launcher Bridge → 設定 で、各 Flow プラグインの有効/無効化や起動キーワード(ActionKeyword)を個別に変更可能(設定は
FlowData\Settings\Plugins.jsonに安全に保持)。 - 動的設定フォーム:YAML/JSON テンプレート(
SettingsTemplate.yaml/.json)や C# WPF 設定パネル(ISettingProvider)に完全対応し、ダーク/ライトテーマや多言語表示にも適合。 - WebView2 によるリッチプレビュー:辞書(MDict)、天気予報、API デバッグ、Web ページスナップショットなどのリッチなプレビューを QuickLook パネル内に自動描画。
- ホスト機能との統合:Flow プラグインが API 経由でフォルダーを開く際はホスト設定のサードパーティ製ファイルマネージャーに自動連携し、メッセージボックスはホストのテーマダイアログで描画され、プラグインログは設定画面のログビューアーに統合されます。
- 一覧表示:検索ボックスに
flowと入力するだけで、読み込まれているすべての Flow プラグインとそのキーワードを確認できます。プラグインを選択すると、設定画面の対応する設定グループが開きます。
4. オーディオデバイスセレクター
オーディオデバイスセレクターは Windows 専用のネイティブプラグインです。ad と入力すると現在アクティブな出力デバイスと入力デバイスが一覧表示され、デバイスを選択すると対応する既定のマルチメディアデバイスに設定されます。トリガーキーワードの後にデバイス名を追加して結果を絞り込むこともできます。
設定ではトリガーキーワードを変更し、結果にフレンドリ名、デバイス名、デバイスの説明のどれを表示するかを選択できます。既定の出力または入力エンドポイントを変更できますが、音量、ミュート、アプリごとのオーディオルーティングは制御しません。
5. コンテンツ検索
コンテンツ検索プラグインは、設定したローカル文書の本文を検索します。設定タブでは、トリガーキーワード、監視フォルダー、対象拡張子、ファイルごとのサイズ上限、インデックスサイズ上限、完全パスの除外正規表現を設定できます。既定のトリガーは cs なので、cs プロジェクト計画 と入力すると本文を検索し、スニペット付きで一致ファイルを表示します。
設定にはインデックスをクリアとインデックスを再構築もあります。クリアはコンテンツインデックスだけを削除し、再構築は削除後にすべての監視フォルダーを再スキャンします。どちらも Lertaro の通常のファイル名インデックスは削除しません。
6. プラグイン実行状態
設定 → プラグイン → 実行状態タブでは、Lertaro の実行中にインストール済みプラグインで発生したホスト側の呼び出しを確認できます。値はプラグイン単位で集計され、タブを開いている間更新されます。
- プラグインの絞り込み:絞り込みボックスでプラグイン名をあいまい検索できます。
- 並べ替え可能な列:列見出しをクリックすると、昇順、降順、既定のプラグイン順の順に切り替わります。
- 表示される指標:呼び出し回数、平均所要時間、直近の所要時間、最大所要時間、マネージド割り当て、検出された例外。
- セッション範囲:統計は現在の Lertaro プロセス中に累積し、再起動するとリセットされます。ゼロは該当する計測呼び出しがまだ記録されていないことを示します。マネージド割り当ては計測呼び出しによるメモリ割り当てであり、プラグインのプライベートメモリ使用量全体ではありません。