ウィンドウをキッチリカッチリ配置したい

XではXdefaultsやfvwm2rcで、Virtual Desktopごとにgeometryをビシっと指定して常にきもちよくmltermとかのウィンドウが並ぶようにしているhirose31です。

Macでは基本的に終了時の位置を覚えててくれるんで、いちいち位置指定しなくてもいいんですが、MacBookを持ち歩いていて、オフィスでは外部モニタあり、自宅ではなしな生活だと、モニタをつなげる/外すたびに各ウィンドウがあっちゃいったりこっちゃいったりで大変落ち着きません。


調べたところ、AppleScriptを使えばウィンドウの位置、大きさを変えることができるとわかったので、

立ちくらみがするぐらいベタなコードですがこんなAppleScriptを書いて、

モニタを繋ぎ変えるたびにこのスクリプトを実行しています。実行には、QuickSilverを愛用しているので、option-c(QS呼び出し) res(これでresize.scptが候補になるので) RET(実行) なキーシーケンスでやってます。指が覚えちゃったしそう頻度高くないんでまいっかーとTriggerには登録してません。

あと、自分の場合、作業内容に応じてブラウザのウィンドウを画面いっぱい(集中モード)と、下の方ちょっと空けた大きさ(空いたところ5,6行にLimeChatのログが見えるように)の2つで切り替えてます。

これもAppleScriptでできると思うんですが、なぜかJavaScriptでやってます。

Firefoxでは、

javascript:(function(){window.moveTo(0,0);window.resizeTo(window.screen.availWidth,window.screen.availHeight)})()

javascript:(function(){window.moveTo(0,0);window.resizeTo(window.screen.availWidth,window.screen.availHeight-84)})()

をブックマークして、keywordに「max」や「no」と入れておきます。

これで、⌘L max RET で画面いっぱいにしたり、⌘L no RET でちら見サイズにしたりできます。

Safariの場合は、Keywurl (Safari 5で動かす方法)を使って、同じようにキーワードで位置調整のjsを呼び出せるようにしています。

蛇足ですが、X11.appではxinitrcでビシっとgeometry指定してmltermなどを起動してます。

2016/04 追記

現在は↓です。