メンテナンスが止まってしまったShiftIt(執筆時2023年7月19日)からHammerspoon ShiftIt へ移行しようとしたのですが、手順や設定周りでつまづきました。
今回は私が行った移行手順や設定を紹介していきたいと思います。
ShiftItの現状
更新が止まっている状態で新しいメンテナを探しています。
Looking for a new maintainer? · Issue #296 · fikovnik/ShiftIt
代替案として Hammerspoon、そしてHammerspoon に ShiftIt 機能を実装するShiftIt Spoonが推奨されています。
Hammerspoon とは
ウィンドウ、マウス ポインター、クリップボード、位置情報サービス、Wi-Fi などのイベントをアクションに接続することができるユーティリティです。
構成ファイルをLua言語で記述します。
Hammerspoon ShiftIt とは
HammerspoonでShiftItライクに画面分割を行えるツールです。
Hammerspoon ShiftItのインストール
こちらにそって行います。
peterklijn/hammerspoon-shiftit: A ShiftIt like Hammerspoon window management configuration
step1
$ brew install --cask hammerspoon
brew でHammerspoonをインストールする。
起動し、メニューバーに Hammerspoon のロゴが表示されるのを確認
step2
Hammerspoon ShiftItのダウンロード し、Finder を使用して解凍する。
Finderを使用して ShiftIt.spoon
をファイルを開く。
以下のパスにinit.luaがあることを確認
ls ~/.hammerspoon/Spoons/ShiftIt.spoon/
> init.lua
step3
Hammerspoon のメニューバー アイコンをクリックし、Open Config
をクリックします。
そしてエディタでinit.luaファイルを開きます。
init.luaファイルに以下を貼り付け、保存して閉じます。
hs.loadSpoon("ShiftIt")
spoon.ShiftIt:bindHotkeys({})
Hammerspoon のメニューバー アイコンを再度クリックし、 Reload Config
をクリックします。
step4
System Preferences > Security & Privacy > Accessibility
を確認して Hammerspoon.appに権限があることを確認します。
Hammerspoon ShiftItのキーマッピングの変更の仕方
~/.hammerspoon/Spoons/init.lua
にキーマッピング設定を記載します。
以下がデフォルトのキーマッピングです。
{
left = { { 'ctrl', 'alt', 'cmd' }, 'left' },
right = { { 'ctrl', 'alt', 'cmd' }, 'right' },
up = { { 'ctrl', 'alt', 'cmd' }, 'up' },
down = { { 'ctrl', 'alt', 'cmd' }, 'down' },
upleft = { { 'ctrl', 'alt', 'cmd' }, '1' },
upright = { { 'ctrl', 'alt', 'cmd' }, '2' },
botleft = { { 'ctrl', 'alt', 'cmd' }, '3' },
botright = { { 'ctrl', 'alt', 'cmd' }, '4' },
maximum = { { 'ctrl', 'alt', 'cmd' }, 'm' },
toggleFullScreen = { { 'ctrl', 'alt', 'cmd' }, 'f' },
toggleZoom = { { 'ctrl', 'alt', 'cmd' }, 'z' },
center = { { 'ctrl', 'alt', 'cmd' }, 'c' },
nextScreen = { { 'ctrl', 'alt', 'cmd' }, 'n' },
previousScreen = { { 'ctrl', 'alt', 'cmd' }, 'p' },
resizeOut = { { 'ctrl', 'alt', 'cmd' }, '=' },
resizeIn = { { 'ctrl', 'alt', 'cmd' }, '-' }
}
動作名 = {keymapping}
で設定できます。
例えば、 left = { { 'ctrl', 'alt', 'cmd' }, 'left' },
の場合は、control + option + command
でウィンドウを左寄せにします。
使用できるキーはHammerspoonのドキュメントに記載されています。
Hammerspoon docs: hs.keycodes
参考までにこちらが私の設定です。
-- SpoonInstall の設定
hs.loadSpoon("SpoonInstall")
-- ShiftItの設定
-- [peterklijn/hammerspoon-shiftit: A ShiftIt like Hammerspoon window management configuration](https://github.com/peterklijn/hammerspoon-shiftit)
spoon.SpoonInstall.repos.ShiftIt = {
url = "https://github.com/peterklijn/hammerspoon-shiftit",
desc = "ShiftIt spoon repository",
branch = "master",
}
spoon.SpoonInstall:andUse("ShiftIt", { repo = "ShiftIt" })
-- ShiftItの設定
hs.loadSpoon("ShiftIt")
local mash = { 'shift', 'alt', 'cmd' }
-- hotkeyの設定の仕方
-- 動作名 = {keybind}
spoon.ShiftIt:bindHotkeys({
left = { mash, 'left' },
right = { mash, 'right' },
maximum = { mash, 'up' },
})