Objective c 如何在Mac OSX中获取和/或覆盖窗口的最小大小

Objective c 如何在Mac OSX中获取和/或覆盖窗口的最小大小,objective-c,macos,window,applescript,minimum-size,Objective C,Macos,Window,Applescript,Minimum Size,我想在我的机器上调整任何窗口的大小,这是我用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 si

我想在我的机器上调整任何窗口的大小,这是我用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,查找器的大小也将至少调整为344px的宽度和236px的高度。我用其他应用程序对此进行了测试,所有应用程序都有一个最小宽度,这取决于应用程序的不同。例如,TextMate窗口的大小至少为213px*129px

由于我有时需要将窗口调整为较小的宽度和高度,是否有方法覆盖此最小尺寸,即即使我的值“太小”,也会使用我的值

如果没有,我需要知道最小尺寸,以便我知道窗口将比预期的大。我将如何做到这一点


具体问题如下:我正在编写一个窗口平铺管理器,因此我需要负责窗口的大小。最小尺寸会产生以下问题:

  • 对于特定应用程序的窗口,“我的分幅”可能太小,因此窗口可能在其他分幅中重叠
  • 窗口可能比预期的宽/高,因此会跨越我的屏幕边界。(例如,窗口靠近屏幕的右下角-我相应地设置了宽度和高度以适应该角,但由于它有最小尺寸,因此无法适应。)
  • 我非常感谢您的建议。:)

    最美好的祝愿

    Florian

    正如评论者所指出的:不可能将窗口的大小调整到低于其在开发过程中设置的最小大小(例如在Interface Builder中)。但是,存在最小大小的原因是:防止自动调整大小的问题,例如,由于视图大小过小,按钮重叠或消失

    谢谢你的回答


    PS:Lri补充道,使用应用程序的API可以绕过最小大小,例如使用Carbon API调整iTunes大小或使用定制的AppleScript API。谢谢Lri

    您可以编辑nib文件并为窗口设置不同的最小大小!但是,严肃地说,应用程序为其窗口设置最小大小是为了防止自动调整大小的问题,这会使一些视图消失,并且在窗口大小增大时不会显示。从我收集的信息来看,似乎您无法从AppleScript查询或设置最小大小。似乎您是对的,因为平铺管理器Divvy也无法设置较小的大小。太糟糕了,我无法查询最小大小,所以我需要一个解决方法。我想到的唯一解决办法是设置我想要的大小,获得真实大小,如果真实大小与我设置/要求的大小不同,则移动窗口。您可以使用碳应用程序绕过最小大小限制,例如iTunes。但是,一般来说,使用同样的方法是无法绕过它的。说真的,像Divy这样的应用程序并没有平铺窗口管理器。@如果你把你的评论变成一个答案,我很乐意接受它。:)@这是我最好的描述。我知道,xMonad是一个真正的窗口平铺管理器,但是其他的选项呢?(分割、优化布局、排列等)