日本語

SpaceLauncher macOS 用

構成フォーマット

SpaceLauncher の構成書き出しは JSON ファイルです。読む、差分を取る、別の Mac にコピーする、自作スクリプトで処理する、いずれも可能です。

このページは信頼性のためのリファレンスであり、完全な API 仕様ではありません。フォーマットは進化しうるので、ツールは未知のフィールドをできるだけ保持してください。

書き出しの種類

SpaceLauncher は 2 種類の JSON パッケージを書き出します。

.slbindings はキーバインドのみを書き出します:

.slbackup はアプリの完全バックアップを書き出します:

パッケージの version は、アプリ構成の schemaVersion とは別物です。現在の AppConfiguration スキーマバージョンは 2 です。

完全な構成

完全な AppConfiguration には以下が含まれます:

commandTrees が現在の永続化構造です。bindings も、ツールや旧来のインポート経路との互換性のためにエンコードされます。

キーバインドルール

各ルールは FlatKeysAndActionRow で、主なフィールドは次のとおりです:

applicationScope には 2 つの形があります:

{
  "allBut": {
    "paths": []
  }
}
{
  "only": {
    "paths": [
      "/Applications/TextEdit.app"
    ]
  }
}

この .slbindings の例にはバインドが 1 つ含まれます。Space を長押しして F、D と押すと、「ダウンロード」フォルダが開きます。

{
  "appVersion": "3.0.0 (300)",
  "exportedAt": "2026-06-07T12:00:00Z",
  "format": "name.guoc.SpaceLauncher.key-bindings",
  "keyBindings": [
    {
      "action": {
        "description": "Open Downloads",
        "openFolder": {
          "applicationPath": null,
          "folderPath": "~/Downloads"
        }
      },
      "applicationScope": {
        "allBut": {
          "paths": []
        }
      },
      "enabled": true,
      "id": "11111111-2222-4333-8444-555555555555",
      "keys": [
        3,
        2
      ],
      "leaderKey": {
        "hold": {
          "info": {
            "keepsTapFunction": true,
            "keyCode": 49
          }
        }
      }
    }
  ],
  "version": 1
}

キーコード 49 は標準的な Mac キーボードレイアウトのスペースです。キーコード 32 は F と D です。

インポートの挙動

キーバインドのインポートは、新しいルールを現在の設定に統合するか、現在のキーバインドをすべて置き換えるかを選べます。統合時には、リーダーキー・トリガーキー・アプリ適用範囲によるバインドの同一性で重複を確認します。

完全バックアップの復元は異なります。.slbackup の復元はアプリ構成を置き換えます。これはバックアップからの復旧用であり、部分的な統合用ではありません。

なぜ重要か

このフォーマットは人間が読め、スクリプトで処理できます。バインドの中身を調べる、差分で変更を比較する、マシン間で設定を移行する、自作ツールでルールを生成する、といったことができます。SpaceLauncher は保存済み構成のタイムスタンプ付きローカルバックアップも順次保持し、保存前にショートカットの競合を警告します。