Как получить и / или перезаписать минимальный размер окон в 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.
Поскольку мне иногда нужно изменить размеры окон до минимальной ширины и высоты, есть ли способ переопределить этот минимальный размер, то есть, чтобы мои значения использовались, даже если они "слишком малы"?
Если нет, мне нужно знать минимальный размер, чтобы я знал, что окно будет больше, чем ожидалось. Как бы я это сделал?
Конкретная проблема заключается в следующем: я пишу диспетчер листов окон, поэтому мне нужно отвечать за размер окон. Минимальный размер создает проблемы:
- Мои плитки могут быть слишком маленькими для окон определенного приложения, поэтому окна могут накладываться на другие плитки.
- Окно может быть шире / выше, чем ожидалось, и поэтому пересекает границы моего экрана. (Например, окно находится рядом с нижним правым углом моего экрана - я установил ширину и высоту соответственно, чтобы поместиться в углу, но, поскольку он имеет минимальный размер, он не помещается.)
Я благодарен за любые рекомендации.:)
С наилучшими пожеланиями
Florian
1 ответ
Как отметили комментаторы: Невозможно изменить размер окна ниже его минимального размера, который был установлен во время разработки (например, в Интерфейсном Разработчике). Однако минимальные размеры существуют по причине: чтобы предотвратить проблемы с автоматическим изменением размера, например, кнопки перекрываются или исчезают из-за слишком малого размера вида.
Спасибо Бавариусу за этот ответ.
PS: Лри добавил, что возможно обойти минимальные размеры, используя API приложения, например, используя Carbon API для изменения размера iTunes или используя пользовательские API-интерфейсы AppleScript. Спасибо, Лри!