キーボードで自由自在に操作できるMac用のウィンドウマネージャー「Hydra」を使ってみた

[PR]記事内のアフィリエイトリンクから収入を得る場合があります
  • URLをコピーしました!

Hydra

Mac用の高機能なウィンドウマネージャー「Hydra 1.0」がリリースされました(GitHub)。

MITライセンスのオープンソースソフトウェアですが、ライセンスも販売されていて現在の価格は日本円で1,578円に設定されています。Hacker Newsによるとライセンスを購入しないことの制限は「It'll show a window periodically (without stealing key focus) to remind you to buy a license.」(定期的にライセンス購入を要求する(キーボードのフォーカスは盗まない=邪魔にならない)ウィンドウが表示される)ことだけのようです。

hydra

Hydraの主な機能は、キーボードを使ってウィンドウのリサイズや移動を行うことです。同種のソフトにSizeUpSlateがあり、これらのソフトを使ったことがあるならばイメージしやすいかもしれません。

Hydraの特徴は、設定ファイルがLuaで記述できる柔軟性、軽量で高速なこと、コマンドラインから呼び出すこともできるパワフルなAPI準備されていることなどでしょうか。Macを自由自在に操作したいパワー系ユーザーならば試してみる価値はあると思います。

ということで実際に使ってみました。

Hydraを使う: 準備編

Hydraを起動するとアクセシビリティの許可を与えるよう要求されます。以下の画面でチェックをいれてください。

Security

初期状態では設定ファイルが存在しないので、メニューから「Open Sample Inifile」を選んでサンプル設定ファイルを開き、内容を「~/.hydra/init.lua」に保存します(ディレクトリもなければ作ります)。

Sample 1

init.luaを作成したら、同じくメニューから「Reload Config」を実行して設定ファイルを読み直します。これで準備完了。

Hydraを使う: 実践編

Move

いよいよHydraを使ってみます。何かウィンドウにフォーカスして「Command-Control-Option L」を押すとウィンドウがディスプレイの右半分にリサイズ&移動すると思います。

-- move the window to the right half of the screen
function movewindow_righthalf()
  local win = window.focusedwindow()
  local newframe = win:screen():frame_without_dock_or_menu()
  newframe.w = newframe.w / 2
  newframe.x = newframe.x + newframe.w -- comment out this line to push it to left half of screen
  win:setframe(newframe)
end

-- bind your custom function to a convenient hotkey
-- note: it's good practice to keep hotkey-bindings separate from their functions, like we're doing here
hotkey.new({"cmd", "ctrl", "alt"}, "L", movewindow_righthalf):enable()

今呼び出された機能は、設定ファイルに定義されているファンクション「movewindow_righthalf」です。この部分を自分で好きなように変更すれば自由自在にウィンドウサイズや位置を変更できそうです。

実はサンプル設定ファイルでできることがとても少なく実用的ではありません。自分で設定ファイルを作りこんでいく必要があります。GitHubサイトからグリッド状にウィンドウを移動させるためのhydra-gridのようなモジュールもダウンロードできるので利用してください。ドキュメントも参考になります。

不親切だけどできることは多そう

使いはじめるまでに手間がかかるので、ちょっと不親切な感はありますが、その分柔軟性は高く、自分でいろいろやりたい人には向いていそうです。キーボード派で設定ファイル作成の手間を惜しまない方は試してみてはいかがでしょうか。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次