使用Appleccript记录窗口边界(尺寸)

时间:2010-10-07 04:48:24

标签: macos applescript

自从我处理Applescript以来已经很久了,所以在这里搞砸了术语的高级道歉。

使用以下代码段,我可以调整窗口大小

tell application "BBEdit"
    activate
    set the bounds of the first window to {100, 0, 700, 700}
end tell

我有兴趣使用类似的语句来读取然后记录第一个窗口的边界。我试过了

tell application "BBEdit"
    activate
    log (the bounds of the first window)
    set wSize to the bounds of the first window
    log wSize
end tell

但是列出了事件日志

(*bounds of window 1*)

每一次。我期待的更像是

{100, 0, 700, 700}

我的最终目标是创建一个包含窗口边界的变量,并以编程方式操作值。第一步是学习如何正确记录值。

那么,如何在Apple的脚本编辑器中记录窗口应用程序的界限。

3 个答案:

答案 0 :(得分:1)

尝试将其强制转换为列表,然后记录下来。

答案 1 :(得分:1)

一个重要的AppleScript规则......只告诉应用程序执行其AppleScript字典中的内容。如果命令不在其字典中,那么应用程序不知道该命令,您可能会得到奇怪的结果(如果它完全编译)。在您的情况下,“log”命令是标准的applescript命令,而不是BBEdit命令。因此,当您得到奇怪的结果时,首先要尝试的是将“非应用程序”命令移出应用程序tell块。

因此,尝试在BBEdit tell块内设置theBounds(第一个窗口的边界),然后在tell块之外记录thebounds。

答案 2 :(得分:1)

使用get ...

tell application "BBEdit"
    log (get bounds of window 1)
end tell
--> Log: (*332, 44, 972, 896*)