「Hammerspoon」はLua言語を使ってOS Xのデスクトップ操作を自動化できるアプリ。今のところ主にウィンドウ操作の自動化のために作られていて、ウィンドウの最大化や移動といった、通常はマウスを使って行わないといけない操作が、キーボードから実行可能となります。
SizeUpやSlateといった、ウィンドウマネージャーと呼ばれるアプリを想像するとイメージしやすいかもしれません。
実は、Mjolnirと呼ばれるオープンソースプロジェクトからforkしたプロジェクトで、Mjolnirが、実用的に使うためにはLuaのパッケージマネージャを使って様々な拡張をインストールする必要があったのに対し、Hammerspoonはアプリをダウンロードするだけですぐに使えることを目指して開発されているようです。
インストール方法
まず「Hammerspoon.app」をアプリケーションフォルダにコピーします。
起動するとアクセシビリティで許可を与えるように指示されるので、"Hammerspoon.app"にチェックを入れてください。
メニューバーアイコンをクリックしてPreferencesを表示し、Accessibilityが緑になれば準備完了です。メニューアイコンから他にも、設定ファイルの作成や読み込みを行うことができます。
設定ファイル
次に設定ファイル「~/.hammerspoon/init.lua」を作成します。わざわざパスを打ち込まなくても、メニューアイコンから「Open Config」を実行すれば設定ファイルを開いてくれます。
Getting Startedを読みながら少しずつ設定ファイルを作っていってもいいですし、Sample Configurationsから使えそうな設定ファイルをコピーしても良いでしょう。公式サイトの他にもGitHubでinit.luaを公開している人がいるので、そのようなファイルも参考になると思います。
ファイルを保存したあと、メニューアイコンから「Reload Config」を実行すれば設定が反映されます。
例えば、ztomer's init.luaをコピーして使った場合、Ctrl-Alt-Shift-H/L/K/Jでフォーカスを移動したり、Ctrl-Alt-H/J/K/Lでウィンドウを移動したり、Ctrl-Alt-Y/U/I/Oでウィンドウサイズを変更したり…といったことができるようになります。
まとめ
Luaの文法はシンプルで分かりやすいので設定ファイルは書きやすいと思います。
最近できたばかりのプロジェクトなので今後どのようにプロジェクトが発展していくのか正直未知数ですが、更新が途絶えて久しいSlateの代わりとなる、オープンソースウィンドウマネージャアプリとして今後ブレイクする可能性はありそうです。