仕事でPCを使っていると、いつしかルーティーンが生まれていきます。何度も同じ操作を繰り返したりするのは人がすべき作業ではありません。どんどん自動化し、創造的な仕事に努めるべきです。 もしあなたがLuaの扱いに慣れた人であればHammerspoonを使ってみましょう。HammerspoonはMac OSX用の自動操作ソフトウェアです。

Hammerspoonの使い方

Hammerspoonの設定画面です。起動するとメニューバーに常駐します。

例えば以下のようなコードを書くと、コマンド+Alt+Ctrl+wでHello Worldと表示されます。

hs.hotkey.bind({"cmd", "alt", "ctrl"}, "W", function()
  hs.alert.show("Hello World!")
end)

複雑な操作として、メニューバーにテキストを表示することもできます。

local caffeine = hs.menubar.new()
function setCaffeineDisplay(state)
    if state then
        caffeine:setTitle("AWAKE")
    else
        caffeine:setTitle("SLEEPY")
    end
end

function caffeineClicked()
    setCaffeineDisplay(hs.caffeinate.toggle("displayIdle"))
end

if caffeine then
    caffeine:setClickCallback(caffeineClicked)
    setCaffeineDisplay(hs.caffeinate.get("displayIdle"))
end

他にもウィンドウサイズの変更や移動、Apple Scriptの呼び出し、WiFiやUSBデバイスの接続イベントなども処理ができます。アイディア次第で様々な自動操作が考えられそうです。

HammerspoonはMac OSX用のオープンソース・ソフトウェア(MIT License)です。

Hammerspoon Hammerspoon/hammerspoon: Staggeringly powerful OS X desktop automation with Lua