# アプリケーション設定

アプリケーションの動作に関する設定を行うための画面。

下記のいずれかの操作を行うと、アプリケーション設定を表示することができる。

- 入力画面で`setting`コマンドを実行する

- タスクトレイのアイコンを右クリックし、`アプリケーションの設定`を選択する

## 基本

ランチャーの基本動作に関する設定画面
主に入力画面を表示する際の動作の設定を行う。

- `ランチャー呼び出しキー`

  - 入力画面を表示するためのホットキーを設定することができる

- `入力画面を非表示にして起動する`

  - 起動直後に入力画面を表示しない

- `入力画面を最前面に表示`

  - 入力画面を表示するとき、入力画面を他のウインドウより前面に表示するようにする

- `入力画面の表示位置`
  入力画面を表示するときの位置を以下の3つから選択できる

  - `前回の表示位置`
    前回と同じ位置に入力画面を表示する

  - `マウスカーソル位置`
    入力画面を表示するタイミングでのマウスカーソル位置に入力画面を表示する

  - `アクティブウインドウのモニター中央`
    アクティブなウインドウが表示されているモニターの中央位置に入力画面を表示する
    ただし、アクティブなウインドウがない場合は前回と同じ位置に表示する

- `すでにアクティブなときに呼び出しキーを押したら隠れる`

  - ランチャー呼び出しキーを押すたびに入力画面の表示/非表示が切り替わる

- `フォーカスを失ったらウインドウを隠す`

  - 入力画面がフォーカスを失ったときに、入力画面を非表示にする

- `隠れるときに入力文字列を消去しない`

  - コマンドを実行せずに入力画面を非表示にする際に入力文字列を消去しない

    - 入力画面を次回再表示した際に、前回入力していた内容が維持される

### ランチャー呼び出しキー 設定画面

ランチャーアプリの入力ウインドウを呼び出すためのキー設定画面

- `ホットキーを設定する`
  修飾キー(`Alt` `Ctrl` `Shift` `Win`) + 任意のキーを同時押しすることによりアプリを表示する

  - `修飾キー`
    修飾キーを選択するためのもの。

  - 例: `Ctrl`のみチェックし、キーとして`A`を選択した場合
    Ctrl+A

  - `キー`
    文字を選択する

- `修飾キーの組み合わせ入力`
  修飾キー(`Alt` `Ctrl` `Shift` `Win`)を二つ組み合わせ入力することによりアプリを表示する方式
  同じキーを2回押す、あるいは、異なるキーを同時押しすることでアプリを起動することができる
  例: `Ctrl`キーの2回押し、あるいは、`Ctrl`+`Alt`キーの同時押し

  - `一つ目の入力`
    一つ目に入力する修飾キーを選択する

  - `二つ目の入力`
    二つ目に入力する修飾キーを選択する

## 基本＞ショートカット登録

各種ショートカット登録をするための画面
いずれもチェックすると登録され、チェックを外すと登録が解除される

- `「送る」から登録できるようにする`

  - 本アプリにコマンドを登録するためのメニューが、エクスプローラのコンテキストメニューの「送る」に追加される

- `スタートメニューに登録する`

  - 本アプリを起動するためのメニューがスタートメニューに登録される

- `デスクトップに登録する`

  - 本アプリを起動するためのショートカットがデスクトップに配置される

- `スタートアップに登録する`

  - Windowsにログオン(サインイン)した後に自動で本アプリを起動する

- `作成したショートカットをすべて削除する`

  - 上記で作成したショートカットをすべて削除する

## 基本＞効果音

画面操作時に効果音を鳴らす設定をするための画面
もし、音を鳴らせる環境で作業しているのであれば、気分が上がる効果音を設定すると、作業効率がアップするかもしれない。

mp3ファイルのみ指定可能(他の音声ファイルには非対応)

- `入力欄への文字入力`

  - 入力欄に文字を入力したときに再生するmp3ファイルを指定する。空欄の場合は何も再生しない。

- `候補欄の選択項目変更`

  - 候補欄の選択項目を変更したときに再生するmp3ファイルを指定する。空欄の場合は何も再生しない。

- `コマンド実行`

  - コマンドを実行するときに再生するmp3ファイルを指定する。空欄の場合は何も再生しない。

## 入力

入力画面のキーワード入力回りの動作に影響する設定を行うための画面

- `入力画面を表示するときにIMEをオフにする`

  - 入力画面を表示したタイミングでIMEをオフにする

- `ネットワークパスを無視する`

  - `\\(コンピュータ名)`で始まるパスを本アプリでは開かないようにする

    - 環境によっては、ネットワークパスの情報を参照したときに数十秒ほど応答がなくなる(フリーズする)ことがあるため

- `C/Migemoによるローマ字検索を有効にする`

  - C/Migemo という外部ライブラリを用いて、ローマ字でのキーワード絞り込みをできるようにする

    - たとえば、`jikoku`というキーワードで`時刻`や`自国`という文言にマッチするようになる

    - 配布元(上記リンク先)からライブラリを入手し、配置する必要がある

  - 下記のような構成になるように配置する。

    アプリ配置フォルダ/
        (アプリ名).exe
        dict/
          utf-8/    ※ dictフォルダ内にあるutf-8の方の辞書を参照する
        migemo.dll

なお、バージョン0.54.0現在、migemo.dllと辞書データは本アプリに同梱しているため、上記の配置作業は不要。

## 入力＞キー割り当て

入力画面の操作に関するキーを設定する画面
独自のキーバインドで上下左右の移動や決定操作を行うアプリケーションがある。(例: Emacsの`Ctrl-N` `Ctr-P` `Ctrl-M`など）。
それらのアプリの使用感に寄せるための設定

- `入力画面キーの割り当て`

  - `上へ`

    - 候補欄の選択項目を一つ上へ移動するキーを割り当てる

  - `下へ`

    - 候補欄の選択項目を一つ下へ移動するキーを割り当てる

  - `決定`

    - 入力画面での入力内容を確定させるキーを割り当てる

  - `補完`

    - 入力画面での入力内容を補完するキーを割り当てる

  - `単語単位削除`

    - 入力画面で単語単位の削除をするキーを割り当てる

  - `メニュー表示`

    - 選択している候補のコンテキストメニューを表示するキーを割り当てる

  - `テキストをコピー`

    - 入力欄に入力された文字列をクリップボードにコピーする
      コピーした後、入力欄は非表示になる

- `入力画面のウインドウ移動`
  入力画面を一時的に上下左右に移動するキーの割り当てを行う(次回表示時は元の位置に戻る)。
  入力画面の後ろにあるテキストをランチャーに手入力するにあたり、入力画面を一時的に移動したい、というケースで使う

  - `上へ移動`

    - 入力画面を上方向に移動する

  - `下へ移動`

    - 入力画面を下方向に移動する

  - `左へ移動`

    - 入力画面を左方向に移動する

  - `右へ移動`

    - 入力画面を右方向に移動する

- `初期設定に戻す`

  - 上記のキー割り当てをすべて解除する

## 入力＞履歴

- `履歴機能を使う`

  - 履歴機能の有無を設定できる

- `履歴件数`

  - 履歴として登録する件数の上限を設定する

- `履歴の削除`

  - ボタンをクリックすると全ての履歴をクリアする

## 実行

- `フォルダを開くファイラーを指定`

  - 本アプリからフォルダを開く際に、エクスプローラ以外のファイル管理ソフト(ファイラー)を使いたい場合に指定する

- `ファイラーのパス`

  - 起動するファイル管理ソフトの実行ファイルのパスを指定する

- `パラメータ`

  - `ファイラーのパス`で指定したファイル管理ソフトのを起動するときのパラメータを指定する

  - `$target`が実際に開かれる対象(ファイルやフォルダ)のパスに置き換えられる

- `「ファイル名を指定して実行」機能を使用する`

  - `ファイル名を指定して実行` コマンドを有効にする。

- `未登録キーワード入力時の動作`
  コマンドとして登録されていない（かつ、コマンドとして登録していなくても実行できる機能 として作用しない） キーワードを入力したときの動作を指定する
  以下の4つから選択できる。

  - 何もしない(入力ウインドウを閉じる)

  - 何もしない(入力ウインドウを閉じない)

  - クリップボードにコピー

  - キーワードをコマンド登録

- `管理者特権で起動する`

  - ランチャーアプリを管理者として実行する 管理者権限で実行することにより、他の管理者権限プロセスがアクティブな状況でもランチャーのホットキーが効くようになる。
    (ランチャーを通常ユーザー権限で実行している場合、管理者権限で動作するプロセス(のウインドウ)がアクティブになっている状況においてホットキーが効かない)

- `【管理者特権で実行時】コマンドを通常ユーザ権限で起動する`

  - 管理者特権でアプリケーションを実行している状況において、ランチャーから起動するコマンドを一般ユーザー権限で実行する

    - ランチャー自体は管理者権限で実行したいけれど、一方で、(セキュリティ上の理由により)コマンド実行により起動するアプリケーションを管理者権限で動かしたくない場合に使う

## 実行＞パス

`ファイル名を指定して実行` コマンドにおける、実行ファイルを検索するフォルダを追加で指定することができる。
検索の優先順位としては環境変数PATHで設定されたフォルダ、次に追加のディレクトリ、の順で検索を行う。
リストの上にある項目が優先される。

- `環境変数PATHで設定されたディレクトリ`

  - システムの環境設定で指定されたディレクトリが表示される

    - このリストは参照専用

- `追加のディレクトリ`

  - システム設定で指定されたもの以外に検索したいディレクトリを登録する

- `追加`

  - クリックすると、ディレクトリ選択ダイアログが表示される。選択したディレクトリが`追加のディレクトリ`に追加される

- `編集`

  - クリックすると、`追加のディレクトリ`リスト上の選択項目のパスを変更することができる

- `削除`

  - クリックすると、`追加のディレクトリ`リスト上の選択項目を削除することができる

- `上へ`

  - クリックすると、`追加のディレクトリ`リスト上の選択項目を一つ上に移動する

- `下へ`

  - クリックすると、`追加のディレクトリ`リスト上の選択項目を一つ下に移動する

## 実行＞除外するファイル

`ファイル名を指定して実行` コマンドにおいて、対象外とするファイルを指定することができる。

- `除外するファイル`

  - ここで登録したファイルが候補としてマッチした場合でも、候補に表示しないようにする。

- `追加`

  - クリックすると、ファイル選択ダイアログが表示される。選択したファイルが`除外するファイル`に追加される

- `編集`

  - クリックすると、`追加のディレクトリ`リスト上の選択項目のパスを変更することができる

- `削除`

  - クリックすると、`追加のディレクトリ`リスト上の選択項目を削除することができる

## 実行＞優先度

コマンドの優先度を設定することにより、候補欄に表示されるコマンドの順序を制御するための画面。

- `コマンドの優先度`

  - コマンドごとの優先度が表示されたリスト

  - 優先度の数値が高いものほど先に表示される。

- `フィルター`

  - リスト上に表示するコマンドの絞り込みを行うことができる

- `優先度変更`

  - `コマンドの優先度`リストで選択した項目の優先度を変更する

- `すべてリセット`

  - `コマンドの優先度`リスト上に表示されたすべての項目の優先度を0にする

### 優先度の例

たとえば、下記の設定がされていた場合、 入力欄に「b」と打った場合に、`bookmark` `blog-hatena` `board` の順に表示される。

コマンド | 優先度
--- | ---
blog-hatena | 5
board | 0
bookmark | 10

### 制限事項

- 利用者が登録したコマンドに対してのみ、コマンドの優先度を設定することができる

  - コマンドとして登録していなくても実行できる機能 に由来するコマンドに対して優先度を設定することはできない

## 実行＞ファイルとフォルダ

コマンド種別`ファイル` `フォルダ`に対して、別のコマンドを関連付けるための設定画面。
コマンドを登録しておくと、選択中の候補が`ファイル` `フォルダ`の場合に、任意のキー入力からコマンドを実行してファイルを開くことができる。

上記の場合、`Ctrl-E`で`vim`というコマンド、`Ctrl-S`で`stirling`というコマンドを実行できる。
コマンド種別`ファイル`または`フォルダ`の候補が選択されている状態で、登録したキー入力をすると、対応するコマンドを実行することができる。

設定したコマンドは下記の通り、ガイド欄に表示される。

## 表示

入力画面の外観にかかわる設定を行う。

- `入力画面のフォント`

  - 入力画面のフォントを指定する

  - 初期値は`Noto Sans JP`フォント(利用できない場合は`Tahoma`)

- `サイズ`

  - 入力画面のフォントサイズをポイント単位で指定する

  - 初期値は9

  - 設定できる範囲は6～128

- `既定値を使用`

  - 入力画面のフォント/フォントサイズを初期値に戻す

- `コメント表示欄の初期表示テキスト`

  - 入力画面を表示した直後のコメント欄のテキストを設定する

  - テキストにマクロを使うことができる

- `入力画面のアイコンを表示する`

  - 入力画面上のアイコン表示欄を表示する

- アイコン欄

  - アイコン欄をダブルクリック、または、右クリックからコンテキストメニュー`アイコンを変更する`を選択すると、ファイル選択ダイアログを表示する。ファイルを選択すると、初期表示アイコンを変更することかできる

    - 使用可能なファイル形式は`.ico`のみ

- `デフォルトのアイコンに戻す`

  - 変更した初期表示アイコンをアプリ本来のアイコンに戻す

- `入力画面のプレースホルダーを表示する`

  - 入力欄に何も文字を入力していない状態のときにテキストを表示する

- `操作ガイド欄を表示する`

  - コメント表示欄の下に操作ガイド欄を表示する

- `候補欄にコマンド種別を表示する`

  - コマンドの種別を候補リストに表示する

- `候補欄の背景色を交互に変える`

  - 候補欄の奇数行と偶数行の背景色を変えて表示を行う

- `候補欄の各項目のアイコンを表示する`

  - 候補欄の項目ごとにアイコンを表示する

  - 左: アイコンを表示する場合 右:表示しない場合

- `入力欄の透過表示`

  - `半透明`
    入力画面を半透明にするタイミングの設定。以下の3つから選択する。

    - `非アクティブなときに半透明`
      入力画面がフォーカスを失ったときに半透明表示にする

    - `いつでも半透明`
      フォーカスの有無にかかわらず常に入力画面を半透明表示にする

    - `半透明にしない`
      フォーカスの有無にかかわらず常に入力画面を半透明表示にしない

  - `透明度`

    - 入力画面を透過表示するときの透明度を0～255の範囲で指定する

    - 0は完全に透明

      - 255は完全に不透明

## 表示＞配色

- `システムの色設定を使用する`

  - Windowsのシステム設定の配色でウインドウを描画する

  - 選択しない場合は、アプリで独自設定した色を使用する

- `システムの色設定に戻す`

  - 色設定を初期値に戻す

- `ウインドウ`

  - `テキスト`
    ウインドウのコメント欄、ガイド欄の文字色を設定する

  - `背景`
    ウインドウの背景色を設定する

- `入力欄`

  - `テキスト`
    入力欄の文字色を設定する

  - `背景`
    入力欄の背景色を設定する

- `候補欄`

  - `テキスト`
    候補欄の文字色を設定する

  - `背景`
    候補欄の背景色を設定する

  - `背景(交互)`
    `候補欄の背景色を交互に変える`をチェックしたときの候補欄の偶数行目の背景色を設定する

  - `選択テキスト`
    候補欄の選択行の文字色を設定する

  - `選択背景`
    候補欄の選択行の背景色を設定する

## 外部ツール

本アプリから利用する外部ツールに関する設定画面。

- `ブックマーク検索／Web履歴検索においてEdge以外のWebブラウザも利用する`
  ブックマーク検索／Web履歴検索機能において、外部ツールを利用できる

  - `Chromeを使う`
    外部ツールとしてChromeを使う

  - `別のWebブラウザを指定する`
    外部ツールとしてChrome以外のWebブラウザを使用する場合はこちらを選択する。
    こちらを選択した場合、下記の項目を指定する必要がある。

    - `アプリ表示名`
      この外部ツールを使うコマンドが候補欄に表示されるときに使う表示名を指定する

    - `実行ファイルパス`
      ブラウザの実行ファイルのパスを指定する

    - `パラメータ`
      ブラウザ起動時のコマンドラインパラメータを指定する。
      `$target`というキーワードを実際のURLに置き換える。
      (基本的にはここを変更する必要はない)

    - `設定データフォルダ`
      指定したWebブラウザのブックマークや履歴の情報が保存されたフォルダのパスを指定する。
      関連機能: ブックマーク検索、Web履歴検索

- `コマンドからURLを開くとき、既定のブラウザではなく、上記のWebブラウザを使う`
  URLを参照するコマンドを実行したときや、入力欄にURLを直接入力したときに、ここで設定したWebブラウザが使われる。

### 制限事項

- ブックマーク検索機能とWeb履歴検索機能はChromiumベースのWebブラウザに対応している

  - これらの機能で参照する設定データのフォルダは下記の構造を想定している
    この構造になっていないWebブラウザについては、ブックマーク検索とWeb履歴検索を利用することはできない

    <設定データフォルダ>\
      Defailt\            設定データフォルタ直下にDefaultという名前のフォルダがあり、
        Bookmarks         その下にBookmarks、History という名前のファイルがある
        History
        ...

## 拡張機能

- `Pythonを利用する拡張機能の設定`

  - `Python DLLへのパス`
    PCにインストールした`Python3`の本体DLLへのパスを指定する
    (Python3.12以降の`python3.dll`へのパスを指定する)

  - `簡易電卓機能を有効にする`
    入力画面に入力したテキストを数式として評価して、その計算結果を表示する

  - `Enter`キーを押すと、計算結果をクリップボードにコピーする

- `システム関連の機能`

  - `コントロールパネル項目を候補として表示する`

    - コントロールパネル項目を候補として表示し、それを実行したら、該当するコントロールパネル項目を開く

  - `スタートメニュー／最近使ったファイルを候補として表示する`

    - ファイルを候補として表示・実行する

      - スタートメニューに登録されたプログラム

      - Windowsの`最近使ったファイル`に登録されたファイル

  - `アプリケーション(UWPアプリなど)を候補として表示する`

    - 実行環境にインストールされているアプリケーション(UWPアプリを含む)を候補として表示・実行する

  - `MMCスナップインを候補として表示する`

    - 実行環境にインストールされているMMCスナップインを候補として表示する

  - `Windowsの設定を候補として表示する`

    - Windows設定の各ページ項目を候補として表示する

  - `環境変数を候補として表示する`

    - 環境変数の一覧を候補として表示する

## 拡張機能＞ウインドウ切替

ウインドウ切替関連機能に関する設定を行う画面

- `ExcelやLibreOffice Calcのシート名による選択を有効にする`
  入力画面を表示した時点で開いているExcel / LibreOffice Calcのシート名の一覧を候補として検索し、それを実行したら該当するシートをアクティブにする
  機能を利用するためには製品版Excel(デスクトップ版) または LibreOfficeがインストールされている必要がある

  - `プレフィックス`
    候補を表示するためキーワードを指定する
    キーワードを入力した時点で、シートの一覧が表示される 初期値は`xj` (e`x`cel `j`ump の略)

- `PowerPointのスライドタイトルによる選択を有効にする`
  入力画面を表示した時点でアクティブなPowerPointプレゼンテーションのスライドタイトルを候補として検索し、それを実行したら該当するシートをアクティブにする
  機能を利用するためには製品版PowerPoint(デスクトップ版)がインストールされている必要がある

  - `プレフィックス`
    候補を表示するためキーワードを指定する
    キーワードを入力した時点で、スライドの一覧が表示される 初期値は`pj` (`p`owerpoint `j`ump の略)

- `Outlookのフォルダ選択を有効にする`
  入力画面を表示した時点で起動しているOutlookのメールフォルダ名の一覧を候補として検索し、それを実行したら該当するフォルダを選択する
  機能を利用するためには製品版Outlook(デスクトップ版)がインストールされている必要がある

  - `プレフィックス`
    候補を表示するためキーワードを指定する
    キーワードを入力した時点で、フォルダの一覧が表示される 初期値は`ol` (`o`ut`l`ook の略)

## 拡張機能＞クリップボード履歴

クリップボード履歴機能に関する設定を行う画面

- `有効にする`

  - クリップボード履歴機能を有効にする

- `プレフィックス`

  - クリップボード履歴を候補として表示するためのキーワードを指定する

- `検索結果表示件数`

  - 候補に表示する件数の上限を指定する

- `登録時の1件あたり上限サイズ`

  - クリップボードが更新されたとき、テキストのサイズが指定サイズを超過する場合は履歴に追加しない

- `履歴件数の上限`

  - 履歴の件数が上限を超過したら、古いものから履歴を削除する

- `次の記録を有効にするまでの間隔`

  - 前回のクリップボード更新から、指定した時間が経過しないうちに更新が再度行われた場合は履歴に追加しない

- `無視するパターン`

  - 指定した正規表現パターンに合致するテキストを履歴に追加しない

- `クリップボード履歴ではC/Migemoを使用しない`

  - クリップボード履歴の候補の絞り込みにおいて、C/Migemoによる正規表現マッチングを使用しない

    - 現状のアプリの実装だと、クリップボード履歴の絞り込みにおいてC/Migemoが生成した正規表現を使ってマッチングをすると、動作が遅くなる場合があるため無効化できるようにする

    - チェックを外した場合は入力設定に従う

- `プレビューウインドウを表示する`

  - 候補欄で選択したクリップボード履歴のテキスト内容を確認するためのプレビューウインドウを表示する。

## 拡張機能＞パス変換

- `git-bashパスをローカルパス表記に変換する`

  - git-bashパス変換を有効にする

- `file://...をローカルパス表記に変換する`

  - fileプロトコルをローカルパスに変換を有効にする

## 拡張機能＞OneNote

- `機能を有効にする`
  OneNoteページ検索機能を有効にする。

- `プレフィックス`
  検索を開始するためのキーワードを指定する。
  空欄にすると、検索が常に有効になる。

- `検索を実行する最小文字数`
  その文字数以上のキーワードを入力したときに検索を行う。0を指定すると常に検索を行う。

## 拡張機能＞ブックマーク検索

- `機能を有効にする`
  ブックマーク検索機能を有効にする。

- `プレフィックス`
  検索を開始するためのキーワードを指定する。
  空欄にすると、検索が常に有効になる。

- `検索を実行する最小文字数`
  その文字数以上のキーワードを入力したときに検索を行う。0を指定すると常に検索を行う。

- `Edgeのお気に入りを候補として表示する`
  Edgeのお気に入りを検索対象とする

- `Webブラウザ(外部ツール)のブックマークを候補として表示する`
  外部ツールで指定したWebブラウザのブックマークを検索対象とする

- `URL文字列を候補の絞り込みに使う`
  URL文字列(とブックマーク名)を候補の絞り込みに使う。選択しない場合はブックマーク名のみで絞り込みする

## 拡張機能＞Web履歴検索

- `機能を有効にする`
  Web履歴検索機能を有効にする。

- `プレフィックス`
  検索を開始するためのキーワードを指定する。
  空欄にすると、検索が常に有効になる。

- `検索を実行する最小文字数`
  その文字数以上のキーワードを入力したときに検索を行う。0を指定すると常に検索を行う。

- `Edgeの履歴を候補として表示する`
  Edgeの閲覧履歴から入力キーワードに該当するものを候補として表示する

- `Webブラウザ(外部ツール)の履歴を候補として表示する`
  外部ツールで指定したWebブラウザの履歴を検索対象とする

- `検索の上限件数`
  候補の上限件数を設定する。多くするほどQuery処理に時間がかかる。

- `Migemoを検索を利用する`
  絞り込みの際にMigemo検索を使うかどうかを指定する。Migemo検索は(使わない場合と比べて)時間がかかるので、非力なPCだと十分な結果が得られない可能性がある。

- `URL文字列を候補の絞り込みに使う`
  URL文字列も考慮した絞り込みを行う。選択しない場合は履歴のページタイトルのみで絞り込みを行う。

## 拡張機能＞Everything

- `機能を有効にする`
  Everything検索機能が有効にする。

- `プレフィックス`
  検索を開始するためのキーワードを指定する。
  空欄にすると、Everything検索が常に有効になる。

- `Everythingが起動していなかった場合に起動する`
  Everythingのアプリが起動していなかった場合に起動を試みる。
  (Everything検索を行うためにはEverythingのアプリが起動している必要がある)

- `Everything.exeのパス`
  アプリを起動する際の実行ファイルのパスを指定する。

- `検索を実行する最小文字数`
  その文字数以上のキーワードを入力したときに検索を行う。0を指定すると常に検索を行う。

  - 少ない文字数で検索を実行したときに以下の問題がある。これを回避するための設定

    - たいていの場合ヒット件数が多くなる。結果、他の候補が隠れてしまう

    - 一方で所望の結果が得られる可能性は低い

## 拡張機能＞UI要素

- `UI要素の検索機能を有効にする`
  UI要素機能をオンにする。
  アプリ内のボタンをメニューなどを直接検索・操作できるようにする機能。

- `プレフィックス`
  UI要素検索を開始するためのキーワードを指定する。
  空欄の場合は、UI要素検索が常に有効になる。

- `Win32アプリケーションのメニュー検索を有効にする`
  Win32アプリケーションのウインドウ上部にあるメニュー項目を候補として表示する。

  - `全てのウインドウのメニュー検索を有効にする`
    画面上に表示されているすべてのWin32アプリケーションのメニュー項目を候補に含める。 オフの場合は、アクティブなウインドウのみを対象とする。

- `デバッグ出力を有効にする`
  デバッグ用のコマンド `uiautomation-debug-dump`を使用可能にする。 このコマンドを実行すると、ログ出力ディレクトリに `uiautomation.json`を生成し、UIAutomationElementの階層構造をJSON形式で保存する。

## 拡張機能＞WinSCP

- `機能を有効にする`
  WinSCPのセッション一覧を表示する機能を有効にする。

- `ポータブル版のWinSCPを利用する`
  インストール版のWinSCPではなく、ポータブル版のWinSCPを使用している場合に使用する設定。
  `WinSCP.exeのパス`欄で指定した実行ファイルを用いる。

- `WinSCP.exeのパス`
  ポータブル版のWinSCPを使用している場合の`WinSCP.exe`のパスを指定する。

## 拡張機能＞Visual Studio Code

- `機能を有効にする`
  Visual Studio Code履歴機能を有効にする。

- `プレフィックス`
  機能発動のためのキーワードを指定する。
  空欄にすると、キーワードを含む要素が常に候補として表示される。

- `検索を実行する最小文字数`
  その文字数以上のキーワードを入力したときのみ、機能が発動する。
  0を指定した場合は文字数の制限をしない。

- `候補にフルパスを表示する`
  チェックすると候補欄に表示するファイルパスをフルパスで表示する。
  チェックしなかった場合はファイル名のみを表示する。

## その他

- `ログ出力レベル`

  - デバッグ用機能。デバッグ用ログファイルへの出力対象とするログ種別を選択することができる

  - 下のものほど情報量が多くなる

  - ログファイルの出力先は`<設定ファイルの保存先>/per_machine/<PC名>/<アプリ名>.log`

選択肢 | 説明
--- | ---
なし | ログを一切出力しない
エラー | エラーログのみ出力する
警告 | エラーと警告ログを出力する
通常 | エラーと警告と通常ログを出力する
デバッグ | デバッグ用出力も含めたすべてのログを出力する

- `性能ログを出力する`

  - デバッグ用機能。内部処理の処理時間に関するログを専用のログファイルに出力する。
    出力先は`<設定ファイルの保存先>/per_machine/<PC名>/perf.log`

- `連続で作業していたら警告する`

  - `警告を表示するまでの時間`で設定した時刻を超えて連続稼働(スクリーンロックを挟まずにPCを起動)した場合に警告メッセージを表示する

- `警告を表示するまでの時間`

  - 警告を表示するまでの時間を分数で指定する(デフォルトは90分)

## その他の設定画面

### アプリ表示用ホットキー

ランチャーアプリの入力ウインドウを呼び出すためのキー設定画面

- `ホットキーを設定する`
  修飾キー(`Alt` `Ctrl` `Shift` `Win`) + 任意のキーを同時押しすることによりアプリを表示する

  - `修飾キー`
    修飾キーを選択するためのもの。

  - 例: `Ctrl`のみチェックし、キーとして`A`を選択した場合
    Ctrl+A

  - `キー`
    文字を選択する

- `修飾キーの組み合わせ入力`
  修飾キー(`Alt` `Ctrl` `Shift` `Win`)を2つ組み合わせて入力することでアプリを表示する方式
  同じキーを2回押す、あるいは、異なるキーを同時押しすることでアプリを起動することができる
  例: `Ctrl`キーの2回押し、あるいは、`Ctrl`+`Alt`キーの同時押し

  - `一つ目の入力`
    一つ目に入力する修飾キーを選択する

  - `二つ目の入力`
    二つ目に入力する修飾キーを選択する

## キー割り当て

コマンドに対するキー割り当てを行うための画面。
割り当てたキーを押すとコマンドを実行することができる。

- `ホットキーを設定する`
  コマンドに対してキー割り当てを行う場合はチェックする

- 種別

  - 以下の3つのいずれかを選択する。
    `アクティブ時のみ有効` or `アクティブ時のみ有効(SandS)` or `常駐時いつでも有効`

  - 種別の説明はホットキーの種別についてを参照

- `修飾キー`

  - 修飾キーを選択するためのもの。

  - 例: `Ctrl`のみチェックし、キーとして`A`を選択した場合 → Ctrl+A

  - 種別として`アクティブ時のみ有効(SandS)`を選択した場合は以下の5つのいずれかを選択することができる。
    `Space` `CapsLock` `変換` `無変換` `かな`

- `キー`

  - 修飾キーと組み合わせる文字を選択する

### ホットキーの種別

- ホットキーの種別として以下の3つを選択できる

  1. `アクティブ時のみ有効`

  2. `アクティブ時のみ有効(SandS)`

  3. `常駐時いつでも有効`

- `アクティブ時のみ有効`と`アクティブ時のみ有効(SandS)`は入力画面が表示されているときだけ機能する。 一方、`常駐時いつでも有効`は入力画面が表示されていないときでも機能する。

- `アクティブ時のみ有効(SandS)`の`SandS`は「Space and Shift」の略で、単体でキーを押したときは文字キー(→Space)として機能し、
  他のキーと同時押ししたときは修飾キー(→Shift)として機能する、という概念のこと

  - ランチャー呼び出しキーの修飾キーと`SandS`の修飾キーを同じキーとして設定することにより、スムーズにコマンドを呼び出すことができる

    - 例:
      ランチャー呼び出しのホットキーを`CapsLock`にして、コマンドのホットキーを`CapsLock`+`J`に設定していたとすると、以下のような動きになる

    - つまり、他アプリとのキー割り当ての干渉をあまり気にすることなく、グローバルホットキー的な機能が実現できる

#### ホットキー種別の比較

それぞれ実現している仕組みが異なる。
`常駐時いつでも有効`はシステムのホットキーに登録するため、登録したキーを使って、いつでも呼び出せる一方で、ほかのアプリ内においてそのキーを使うことができなくなる

種別 | メリット | デメリット
--- | --- | ---
`アクティブ時のみ有効` | 他アプリに干渉しない 他アプリへの干渉を気にする必要がないのでキー選択の幅が広い | まずアクティブにする(入力画面を表示する)必要がある
`アクティブ時のみ有効(SandS)` | SandSの修飾キーをランチャー呼び出しキーの修飾キーと合わせることにより、スムーズな運指が実現できる | まずアクティブにする(入力画面を表示する)必要がある
`常駐時いつでも有効` | いつでも呼び出せる | 登録したキーを他アプリで使えなくなってしまう 他アプリに干渉することをふまえて割り当てるキーを慎重に選択する必要がある

### SandSに関する制限事項

- SandSの修飾キーとして選択したキーを押しっぱなしにした場合、普通の文字入力としてキーリピートする。

  - `Shift` `Ctrl` `Alt` `Win`などのような純粋な修飾キーのような動きにはならない

- SandSを実現するためにキーフックを利用している。キーフックの仕組みを用いた別のソフトが同時に動いている場合、競合してうまく動作しない場合がある