Как получить и / или перезаписать минимальный размер окон в Mac OSX

Я хочу изменить размер любого окна на моем компьютере, что я делаю с помощью AppleScript, используя GUI Scripting. Сценарий выглядит примерно так:

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. Окно может быть шире / выше, чем ожидалось, и поэтому пересекает границы моего экрана. (Например, окно находится рядом с нижним правым углом моего экрана - я установил ширину и высоту соответственно, чтобы поместиться в углу, но, поскольку он имеет минимальный размер, он не помещается.)

Я благодарен за любые рекомендации.:)

С наилучшими пожеланиями
Florian

1 ответ

Решение

Как отметили комментаторы: Невозможно изменить размер окна ниже его минимального размера, который был установлен во время разработки (например, в Интерфейсном Разработчике). Однако минимальные размеры существуют по причине: чтобы предотвратить проблемы с автоматическим изменением размера, например, кнопки перекрываются или исчезают из-за слишком малого размера вида.

Спасибо Бавариусу за этот ответ.

PS: Лри добавил, что возможно обойти минимальные размеры, используя API приложения, например, используя Carbon API для изменения размера iTunes или используя пользовательские API-интерфейсы AppleScript. Спасибо, Лри!

Другие вопросы по тегам