macOSにはウィンドウを素早く効率的に配置するための「ウィンドウマネージャー」と呼ばれるタイプのアプリが無償・有償含めて多数存在します。
ウィンドウを適切なサイズで、望ましい場所に配置することは生産性の高さに直結するため、開発者自身が素晴らしいウィンドウマネージャーを欲していることの証かもしれません。
本日紹介する「Autumn」もそのようなウィンドウマネージャーの一種です。設定ファイルをJavaScriptで記述することができるJavaScriptハッカー向けのウィンドーマネージャで、以下のような特徴を持っています。
- 組み込みIDE: VS Codeと同じエディターを使用し、自動補完や型チェック、インラインドキュメンテーションなどのモダンなIDEの機能を提供。
- ビルトインのドキュメント: 内蔵されたドキュメントビューアーを使用して、すべての機能を簡単に検索することができる。
- 開発者向けコンソール: ライブオブジェクトやプロパティの検査、APIの探索など便利な機能が仕様できる
- 包括的なAPI: ウィンドウの配置以外にもUSBやWiFiイベントへの反応、カスタムホットキーの設定、マウスカーソルの移動、輝度の変更などさまざまな機能を呼び出すことができる。
以下使用方法を説明します
Autumnの使用方法
GitHubのリリースページから最新のバイナリファイルをダウンロードします。中に含まれる「Autumn.app」をアプリケーションフォルダにコピーしてから実行します。
▲初回はアクセシビリティの許可が必要です。プロンプトが表示されたら「Enable Accessibility」をクリックして「セキュリティとプライバシー」の設定画面を開き、「プライバシー > アクセシビリティ」で「Autumn.app」にチェックを入れて下さい。
Autumnのメイン画面の構成は以下の通りです。
▲左側にエディタとコンソール、右側にドキュメントブラウザが存在する3ペイン構成です。
初期状態でサンプルコードが入力された状態になっていて、画面上部中央の再生ボタンをクリックすると実行することができます。例えば以下のようなホットキーが利用可能です。
- Cmd+Opt+Ctrl+m: ウィンドウを最大化
- Cmd+Opt+Ctrl+c: ウィンドウを中央に配置
- Cmd+Opt+Ctrl+↑: ウィンドウを上に移動
- Cmd+Opt+Ctrl+↓: ウィンドウを下に移動
- Cmd+Opt+Ctrl+→: ウィンドウを右に移動
- Cmd+Opt+Ctrl+←: ウィンドウを左に移動
ウィンドウを最大化するためのコードは以下のようにかなり分かりやすいものとなっています。
Hotkey.activate(['command', 'option', 'control'], 'm', () => { Window.focusedWindow().maximize(); });
その他公式サイトにはAutumnを本格的なウィンドウマネージャーとして使用するためのサンプルコードや、ウィンドウを「ダンス」させるユニークなサンプルコードなどが掲載されています。
function dance(win: Window) { const f = win.position(); const w = (Math.random() * 0.6 + 0.4) * 200; const h = (Math.random() * 0.6 + 0.4) * 200; // const h = w; // this makes it a circle const r = 7; setInterval(() => { const t = new Date().getTime(); win.setPosition({ x: f.x + (Math.cos(t / w) * r), y: f.y + (Math.sin(t / h) * r), }); }, 50); } Window.visibleWindows().forEach(dance); Window.onWindowOpened = dance;
▲「ダンス」のサンプルコード。
JavaScript開発者でなくてもプログラミング言語の経験者ならばそれほど苦労することなく設定を記述することができそうです。
設定ファイルが書きやすいウィンドウマネージャーへ
Autumnは、IDEやコンソール、ドキュメントなど設定ファイルを記述するための機能が充実しています。記事執筆時手元の環境では使用中にIDEが重くなりレインボーカーソルが何度も表示される現象が発生しましたが、この問題が解決すれば、多くのユーザーの人気を集めるウィンドウマネージャーとなりそうです。
タイトル | Autumn | |
---|---|---|
公式サイト | https://apandhi.github.io/Autumn/ | |
ソフトアンテナ | https://softantenna.com/softwares/7642-autumn | |
説明 | JavaScriptハッカーのためのmacOS用ウィンドウマネージャー。 |