sevil 0.3

http://shinh.skr.jp/osx/sevil.tgz

OSX に嫌気がさしまくりだったのですが、その要因の一つは間違いなく sevil が遅いというか、 Apple Event 使ってるせいでなんか重い処理してるプロセスがあると、そのプロセスへの Apple Event の返事が遅れてスイッチが待たされる、という現象があったので、高速化してみました。

やってることとしては、まず Core Graphics Service だけ使ってウィンドウの位置を割り出して移動したいウィンドウを調べておいて、その対象のウィンドウの中心座標が他のウィンドウとかぶってなければその座標からそのウィンドウハンドル取り出して移動するって感じ。重なってれば見えてるウィンドウ全部に Apple Event 打ってなめていって対象のウィンドウが見つかったらそこに移動する。こっちのケースでもなめる量が平均半分になるのでまぁいいかも。

これでたぶん Witch より速いんじゃないかなー知らんけど。ホントは常駐して Observe がどうとかもした方がいいのかもしれないけどまぁ十分マシになったので良いことに。

sevil 自体の説明はこのへんにあるらしい。

http://d.hatena.ne.jp/shinichiro_h/20070226#1172462096

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h