Hammerspoon
Hammerspoon contributors · LuaスクリプトでmacOSを自動化する無料のMITライセンスアプリ。
紹介
Hammerspoonは、LuaスクリプトエンジンとシステムAPIをつなぐmacOSデスクトップ自動化アプリケーションです。短いスクリプトを書くことに慣れており、キーボードショートカット、ウィンドウ操作のワークフロー、イベント駆動型の自動化を自分向けに設定したい人を対象としています。インストールするだけでは、完成済みの自動化機能一式は提供されません。動作は設定によって決まります。
機能
- ホットキーを割り当て、ウィンドウの配置、アプリケーションの操作、デスクトップでの作業を自動化します。
- Luaコールバックを使って、画面、ネットワーク、電源などのシステムイベントに応答します。
- 対応するオーディオデバイス、クリップボード、入力動作を調べ、制御します。
- 利用可能なAPIを通じて、通知、メニュー、カスタムインターフェースを表示します。
- シェルタスク、AppleScript、対応するアプリケーション/システム拡張機能と連携します。
- Spoonsと呼ばれる再利用可能なLuaプラグインを任意でインストールできます。各Spoonには独自の設定と依存関係があります。
インストールと設定
brew install --cask hammerspoonをインストールするか、公式ZIPをダウンロードして展開し、Hammerspoon.appをApplicationsに移動します。起動して~/.hammerspoon/init.luaを作成します。メニューから設定を編集して再読み込みし、Consoleでエラーを確認したり、Luaを対話的に試したりできます。最初はホットキーで通知を表示する設定から始め、ウィンドウやアプリケーションの自動化へ発展させられます。公式のGetting StartedガイドとAPIドキュメントに、動作する例が掲載されています。
デスクトップアプリケーションや入力を自動化する場合は、macOSのシステム設定でHammerspoonにアクセシビリティへのアクセスを許可してください。操作によっては、オートメーションや画面収録など、別のシステム権限が必要になる場合があります。設定に必要な権限のみを有効にしてください。スクリプトとSpoonsはユーザーの権限で実行されるため、インストール前にコードを確認してください。
caskは、同梱のhsコマンドラインツールにもリンクします。コマンドラインとの通信はHammerspoonのIPCモジュールで設定します。このリンクだけでは、すべてのIPC機能が有効になるわけではありません。
システムと依存関係
現行の1.1.1リリースとHomebrew Caskには、macOS13以降が必要です。Caskには、Intel搭載およびApple Silicon搭載のMacプラットフォームが記載されています。HammerspoonはMac専用です。macOS APIとの連携機能は、Windows、Linux、iOS、Android向けクライアントとしては提供されていません。旧リリースの要件を1.1.1の要件として扱わないでください。確認した公式資料には、固定の最小RAM容量やディスク容量は記載されていません。
公式の1.1.1 ZIPのサイズは、GitHubのリリースアセットのメタデータによると9,704,557バイトです。インストール済みアプリケーション、スクリプト、キャッシュには、さらに容量が必要です。Luaとアプリケーションの拡張機能は同梱されています。caskには追加のformula依存関係も、明示的なcask競合も記載されていません。ソースをコンパイルするにはXcodeとビルドツールが必要ですが、リリース版アプリの使用には不要です。任意のSpoons、シェルコマンド、連携機能によっては、別途インストールするツールやサービスアカウントが必要です。
カスタムホットキーやウィンドウの自動化は、他の場所で設定されたショートカットやウィンドウマネージャーと重複する場合があります。こうした相互作用は設定に依存するもので、パッケージの競合として宣言されているものではありません。必要に応じて重複する割り当てを無効にするか、調整してください。OSの変更や対象アプリケーションのアクセシビリティ動作によって、個々の自動化APIに影響が出る場合があります。
データ、アカウント、費用、ライセンス
基本的なローカル自動化にHammerspoonのアカウントやサブスクリプションは必要ありません。プロジェクトは無料で、MITライセンスのもと、必要な表示を保持することを条件に、商用利用を含む使用と改変が許可されています。同梱ライブラリと任意のSpoonsには、それぞれのライセンスが適用されます。スクリプトから利用するホステッドサービスには、別途費用やアカウントが必要な場合があります。公式FAQによると、クラッシュレポートは既定で有効ですが、Preferencesで無効にできます。プロジェクトのプライバシーポリシーを確認してください。
Homebrew zapには~/.hammerspoon、アプリケーションの環境設定、キャッシュ、保存状態が含まれます。この設定ディレクトリにはカスタムLuaスクリプトとSpoonsが含まれるため、大幅なクリーンアップの前にバックアップしてください。アプリを削除しても、スクリプトが実行したすべての外部操作が取り消されるわけではなく、連携機能で使用したアカウントも削除されません。
公式リファレンス
- 製品:https://www.hammerspoon.org/
- Getting Started:https://www.hammerspoon.org/go/
- APIドキュメント:https://www.hammerspoon.org/docs/
- FAQとプライバシー:https://www.hammerspoon.org/faq/およびhttps://www.hammerspoon.org/privacy.html
- ソース、MITライセンス、リリース:https://github.com/Hammerspoon/hammerspoon
- 公式Spoonリポジトリ:https://github.com/Hammerspoon/Spoons
新バージョン 1.1.1の更新内容 10月7日 · OpenNavo編集部 · AI翻訳
- パッケージングダウンロード可能なアーカイブから意図しないリソースフォークを削除します。