Hammerspoonによって画面分割

目的

PC上のwindowを画面上下左右に寄せたい

Hammerspoonとは

www.hammerspoon.org

macOS上でLuaというプログラミング言語を落ちいてscriptを実行することができるソフトウェアです windowの画面分割も実施できshiftitの代替案として上がっています

github.com

参考

手順

1. Hammerspoonのダウンロード

Hammerspoon

公式サイトのHow do I install it?の項目に沿って実施 githubリポジトリよりインストールしたいversionのHammerspoonのzipをダウンロード、その後アプリケーションフォルダへドラッグする。

2. Hammerspoonの設定

  1. ダウンロードしたHammerspoonを起動
  2. メニューバーアイコン > Preferences..
  3. を選択し「Launch Hammerspoon at login」をチェックする
  4. 「Enable Accesibility」を押して、Macの設定からHammerspoonにアクセス権を与える
  5. .hammerspoon/init.luaを開き下記の設定を書き込んで保存
  6. メニューバー(PC画面の一番上に表示されている領域)のHammerspoonを押しReload configを押す
hs.window.animationDuration = 0
units = {
  right50       = { x = 0.50, y = 0.00, w = 0.50, h = 1.00 },
  left50        = { x = 0.00, y = 0.00, w = 0.50, h = 1.00 },
  top50         = { x = 0.00, y = 0.00, w = 1.00, h = 0.50 },
  bot50         = { x = 0.00, y = 0.50, w = 1.00, h = 0.50 },
  maximum       = { x = 0.00, y = 0.00, w = 1.00, h = 1.00 }
}

mash = { 'shift', 'ctrl' }
hs.hotkey.bind(mash, 'right', function() hs.window.focusedWindow():move(units.right50,    nil, true) end)
hs.hotkey.bind(mash, 'left', function() hs.window.focusedWindow():move(units.left50,     nil, true) end)
hs.hotkey.bind(mash, 'up', function() hs.window.focusedWindow():move(units.top50,      nil, true) end)
hs.hotkey.bind(mash, 'down', function() hs.window.focusedWindow():move(units.bot50,      nil, true) end)
hs.hotkey.bind(mash, 'm', function() hs.window.focusedWindow():move(units.maximum,  nil, true) end)
  • 'shift' 'control' <上下左右の何かしらのボタン> : 各矢印キー側にwindowが画面の50%で表示される
  • 'shift' 'control' 'm' : 選択しているwindowが画面全体のサイズになる