问题描述
我想编写一个 Applescript 来调整外部屏幕上 Safari 窗口的大小。 我有一个 1440x900 的 Macbook Air Screen 和一个 2560x1440 的华硕外接显示器。 我想将 Safari 保留在我的外接显示器上,左侧有 170 像素的间隙。 我编写了以下基本脚本:
tell application "System Events"
tell application "Safari"
activate
set bounds of window 1 to {170,2560,1440}
end tell
end tell
结果是唯一打开的 Safari 窗口从我的外接显示器移动到我的 Macbook Air (Mojave) 屏幕,其宽度正确 (2560-170 = 2390) 和不正确的高度(900 而不是指定的 1440)。
我如何确保正确的宽度和高度并将窗口保持在我的外部显示器上。 非常感谢。
解决方法
在这种情况下,您不需要使用系统事件; Safari 知道如何调整自己的窗口大小。您需要做的就是获取窗口的边界,更改返回列表的最后两项,然后将边界设置为修改后的数组。这将改变大小而不移动窗口的位置。
tell application "Safari"
activate
set old_bounds to bounds of window 1
set item 3 of old_bounds to 2560
set item 4 of old_bounds to 1440
set bounds of window 1 to old_bounds
end tell