
macOS向けの自動化ツールHammerspoon 1.1.0が12月24日にリリースされました。2024年夏の1.0.0リリース後1年ほど静かな時期が続いていましたが、今回のアップデートには、日常的に使うユーザーに嬉しい修正や改善が多数含まれています。
また今回のリリースに合わせ、開発者の1人であるcmsj氏はRedditで、Hammerspoonの今後の開発計画について説明し、注目を集めています。
Hammerspoon 1.1.0 の主な変更点
Hammerspoon 1.1.0 の主な変更点は次の通りです。
修正・改善:
- hs.task の引数がすべて文字列かどうか検証されるように
- Lua 初期化時の package.path が正しく展開されるように
- hs.httpserver:start() が WebSocket を正しく処理
- hs.window.filter がアプリ名ではなく PID ベースで追跡
- Stream Deck Mini v1 のボタンコールバックが正常動作
- アプリ終了後に hs.window:application() が Lua スタックを壊す可能性を修正
- 終了済みアプリの PID がイベントハンドラに渡されクラッシュする問題を修正
挙動の変更:
- hs.urlevent の scheme/host が常に小文字化
- hs.menubar:setMenu() が毎回メニューを再生成しなくなり、表示中でも変更可能に
- hs.window:setFrame() が “Enhanced UI” のアニメーションを考慮
- hs.mouse.trackingSpeed() がトラックパッド速度にも対応
新機能:
- http/https のデフォルトハンドラとして動作する際、Handoff URL をサポート
- hs.eventtap が “smart magnify” イベントを生成可能に
- hs.audiodevice:thru() / setThru() により、
- あるデバイスの音声を別デバイスへモニタリング出力できるように
プロジェクトの現状 開発者3名の負担と Objective‑C の壁
Hammerspoonの開発者cmsj氏は、Redditでプロジェクトの現状について説明しています。

同氏によると、Hammerspoon 10年の歴史の中で多くのコントリビューターに支えられてきましたが、実質的なメンテナンスの大部分は以下の3名が担ってきました。
- asmagill
- latenitefilms
- cmsj
しかし近年は、現実世界の忙しさや、Objective‑C ベースの巨大プロジェクトを触るモチベーションの低下により、開発の勢いは過去最低レベルにまで落ち込んでいるとのことです。
Hammerspoon は「バッテリー同梱」思想で便利な機能をすべて内包していますが、内部は小さなライブラリの集合体で構成されており、ビルドも配布も複雑です。さらに、Lua と Objective‑C をつなぐ巨大なブリッジ LuaSkinが存在し、新規コントリビューターにとって参入障壁が高い状態が続いています。
LuaからJavaScriptへ?
現状を打破するため、cmsj氏は数ヶ月前から、HammerspoonをSwiftでゼロから作り直す実験を進めています。
LuaSkinを捨て、代わりにJavaScriptCore(JSC)を採用することで、Web開発者に馴染みがあり、Luaよりユーザー層が広いJavaScriptを使用することができるようになります。
まだ未完成で設計に迷いもあるものの、「現代的で貢献しやすい Hammerspoon」への道筋が見えたと語っています。
ただし、v2でJavaScriptを採用する可能性は高いものの、現時点では方向性は決まっておらず、以下の3つの選択肢が存在するとのこと。
- v1 をこのまま続ける
- v1 をメンテナンスモードにしつつ、v2 を本格開発する
- v1 を廃止し、v2 へ移行を促す
コミュニティの意見を募りながら、今後の方針を決めていくとのことです。
まとめ:Hammerspoon は大きな転換点に立っている
今回の 1.1.0 リリースは、単なるアップデートではなく、Hammerspoon の次の10年をどうするかという重要な問いかけも行われています。Objective‑Cの限界や、LuaSkinの巨大さ、コントリビューター不足といった問題を解決するための、Hammerspoon v2(Swift + JS)は現実的な計画かもしれません。
| タイトル | Hammerspoon | |
|---|---|---|
| 公式サイト | http://www.hammerspoon.org/ | |
| ソフトアンテナ | https://softantenna.com/softwares/7048-hammerspoon | |
| 説明 | Luaスクリプト経由でOS Xの各種機能を呼び出すことが出来る自動化ツール。 |
