5

GUI Scriptingを使用して、AppleScript で実行するマシン上のウィンドウのサイズを変更したいと考えています。スクリプトは次のようになります。

tell application "System Events"
  set appProcess to the first process whose name is "Finder"
  set appWindow to the front window of appProcess
  set position of appWindow to {100, 100}
  set size of appWindow to {10, 10}
end tell

幅と高さを 10px に設定しても、Finder は少なくとも幅 344px、高さ 236px にサイズ変更されます。これを他のアプリケーションでテストしたところ、アプリケーションによって異なる最小幅がすべてありました。たとえば、TextMate ウィンドウのサイズは少なくとも 213px * 129px です。

ウィンドウの幅と高さを小さくする必要がある場合があるため、この最小サイズをオーバーライドする方法はありますか?

そうでない場合は、ウィンドウが予想よりも大きくなることがわかるように、最小サイズを知る必要があります。どうすればそれを達成できますか?


具体的な問題は次のとおりです。ウィンドウ タイル マネージャーを作成しているため、ウィンドウのサイズを管理する必要があります。最小サイズは問題を引き起こします:

  1. 特定のアプリケーションのウィンドウに対してタイルが小さすぎる可能性があるため、ウィンドウが他のタイルに重なることがあります。
  2. ウィンドウが予想よりも広く/高く、画面の境界を越えている可能性があります。(たとえば、ウィンドウは画面の右下隅近くにあります。幅と高さをそれに応じて隅に収まるように設定しましたが、最小サイズであるため、収まりません。)

あらゆる推奨事項に感謝します。:)

おめでとう
フロリアン

4

1 に答える 1

0

コメンターが指摘したように:ウィンドウのサイズを、開発中に設定された最小サイズよりも小さくすることはできません (たとえば、Interface Builder で)。ただし、最小サイズがあるのには理由があります。表示サイズが小さすぎるためにボタンが重なったり消えたりするなど、自動サイズ変更の問題を防ぐためです。

その答えをくれたBavariousに感謝します。

PS: Lri は、アプリケーションの API を使用して最小サイズをバイパスできる可能性があることを追加しました。たとえば、Carbon API を使用して iTunes のサイズを変更したり、カスタムビルドの AppleScript-API を使用したりします。ありがとうございます!

于 2012-03-12T19:52:32.890 に答える