无法使用 Applescript 调整大小 window

Unable to resize window using Applescript

我使用脚本编辑器编辑了以下 Applescript,试图调整我的 RStudio window 的大小,但没有成功。 RStudio 已加载,但未正确调整大小。代码和错误消息附在下面。有任何想法吗?我使用的是 macOS Big Sur 11.0.1 和 RStudio 1.3.1073。谢谢!

tell application "RStudio"
    activate
    set the bounds of the first window to {140, 0, 1160, 775}
end tell

为了设置一个windowpositionsizeRStudio 中,您需要使用 System Eventspropertiesvalue positionsizewindow.

示例 AppleScript 代码:

tell application "System Events" to ¬
    get properties of window 1 of application process "RStudio"

Returns,例如:

{minimum value:missing value, orientation:missing value, 
position:{140, 25}, class:window, accessibility description:missing value, 
role description:"standard window", focused:true, title:"RStudio", 
size:{1020, 750}, help:missing value, entire contents:{}, 
enabled:missing value, maximum value:missing value, role:"AXWindow", 
value:missing value, subrole:"AXStandardWindow", selected:missing value, 
name:"RStudio", description:"standard window"}

如你所见,没有bounds属性,所以会使用positionsize,例如:

tell application "System Events"
    tell application process "RStudio"
        tell window 1
            set position to {140, 25}
            set size to {1020, 750}
        end tell
    end tell
end tell

备注:

  • bounds属性list,例如{140, 0, 1160, 775} 不等于 {position, size} 而前两个 list 项目 确实等于 position140, 0 实际上需要140, 25 因为在 macOS Big Sur 菜单栏 的默认 height 是 24 像素,因此 25从顶部或屏幕到顶部的距离window.

在您的 OP 中使用 bounds 属性 的调整后 {140, 25, 1160, 775} ,以下是数字代表的含义:

  • 列表项 1:{140, 25, 1160, 775} -- 140 是距左侧的距离(以像素为单位) window.
  • 左侧的屏幕
  • 列表项 2:{140, 25, 1160, 775} -- 25 是距顶部的像素距离屏幕顶部 window.
  • 列表项 3:{140, 25, 1160, 775} -- 1160 是距左侧的距离(以像素为单位) window.
  • 右侧的屏幕
  • 列表项 4: {140, 25, 1160, 775} -- 775 是距顶部的像素距离屏幕底部 window.

因此,虽然 140, 25 代表 position,但 1160, 775 不是 sizesize 基于调整后的 bounds{1020, 750} 并且是通过从 中减去 item 1 得出的item 3 的 ]value 并从 [=41] 的 value 中减去 item 2value =].