无法使用Applescript调整窗口大小

无法使用Applescript调整窗口大小,applescript,rstudio,window-resize,Applescript,Rstudio,Window Resize,我使用脚本编辑器编辑了下面的Applescript,试图调整我的RStudio窗口的大小,但没有成功。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} en

我使用脚本编辑器编辑了下面的Applescript,试图调整我的RStudio窗口的大小,但没有成功。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
为了在RStudio中设置窗口的位置和大小,您需要使用系统事件以及
位置和
大小的
属性值

示例AppleScript代码:

将应用程序“系统事件”告知
获取应用程序进程“RStudio”窗口1的属性
返回,例如:

{最小值:缺失值,方向:缺失值,
位置:{140,25},类:窗口,可访问性描述:缺少值,
角色描述:“标准窗口”,焦点:true,标题:“RStudio”,
大小:{1020750},帮助:缺少值,整个内容:{},
已启用:缺少值,最大值:缺少值,角色:“AXWindow”,
值:缺少值,子程序:“AXStandardWindow”,选中:缺少值,
名称:“RStudio”,说明:“标准窗口”}
如您所见,没有
边界
属性,因此将使用
位置
大小
,例如:

告诉应用程序“系统事件”
告知申请流程“RStudio”
告诉窗口1
将位置设置为{140,25}
将大小设置为{1020750}
结束语
结束语
结束语

注意事项:

  • 边界
    属性的
    列表
    项,例如
    {140,0,1160,775}
    并不等同于
    {position,size}
    ,前两个
    列表
    项确实等同于
    位置
    140,0
    实际上需要是
    140,25
    因为在macOS Big Sur
    中,菜单栏的默认高度为24像素,因此使
    25
    成为从窗口顶部或屏幕到窗口顶部的距离
使用OP中的
bounds
属性的调整值,
{140、25、1160、775}
,以下是数字所代表的内容:

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

因此,虽然
140,25
表示
位置,但
1160775
不是
大小。基于调整后的
边界
大小
{1020750}
,通过从
项目3
的值减去
项目1
的值,并从
项目4
的值减去
项目2
的值来推导,是否可以编写RStudio脚本?我不知道。如何检查?它是在执行脚本后激活的。按⇧⌘O.RStudio在列表中吗?如果不是,则无法编写脚本。任何应用程序都会响应
激活
退出
和其他一些基本命令。是的,RStudio在列表中。通过选择列表中的应用程序打开AppleScript字典。是否存在具有
边界
属性的
窗口
元素?