OS X Lion でウィンドウをあるスペースから別のスペースに移動する小さなユーティリティを書きたいと思います。ユーティリティが AppleScript で書かれているか、Objective-C で書かれているかは気にしません。わからないように見えるのは、ウィンドウが与えられていることです。別のスペースに移動するにはどうすればよいですか。このスレッドで役立つ情報をたくさん見てきましたが、実際にウィンドウを移動する方法については何もありません。誰かが考えやアイデアを持っている場合は、聞いていただければ幸いです。ありがとう。
2 に答える
Objective-C 呼び出しを使用している場合、10.7 でのスペース間の移動は、1 つの問題を除いて実際には 10.6 と同じです。スペース ID は 10.6 ではインデックス ベースでしたが、10.7 では別のもの (GUID ではない) に基づいていました。
ウィンドウが既に正しいスペースにある場合、この質問の解決策は機能します (私はcsshXで使用しています)。CGSGetWindowWorkspace でスペース ID を取得し、CGSMoveWorkspaceWindowList を使用して別のウィンドウに設定できます。
スペースIDを持っていない場合-たとえば、ウィンドウを2番目のスペースに移動したいだけの場合-私はあなたと同じように困惑しています。スペース ID とインデックス番号の間のリンクを探しています。(見つけたらこの回答を更新します)
最後に、上記のコメントで App Store について言及しています。これは、CGS* 呼び出しが文書化されていないプライベート フレームワークを使用して拒否されるため、適切ではありません。
ここhttp://macscripter.net/viewtopic.php?id=23453にあるカスタム ライブラリを使用する必要がありますが、ライオンでどのようなサポートがあるかはわかりません。