检测应用程序,窗口,选项卡的顺序

时间:2016-04-17 14:57:47

标签: applescript

我正在使用AppleScript查找多个浏览器中的所有选项卡(首先在Safari上测试),并在其标题中使用某些标准,并将其提供给stdout以获取其他脚本。

所以我有我需要的基本信息;

window id

tab index

tab name

tab visible

因此,从这一点开始,我知道哪些Safari屏幕符合我的条件,并且我记录了他们的window id和他们的tab index。除了使用tab visible之外,我知道哪个是最重要的。

现在我还有一个问题。我真的希望能够知道哪个窗口和标签是最后一个活动的。即使我只能知道用户最后使用的window id,它也会自动意味着在该窗口内tabvisible为真是最后一个。

但还有一件事。如果visible tab不符合我的条件,那么我仍然需要知道最后一个活动的顺序。

所以我要找的是最后一个活动窗口和标签的计数器/订单值。我在文档中找不到可以给我那个计数器的东西。例如; OS X中的TAB逻辑知道上次使用了哪些应用程序。我想知道这个逻辑是否可用作某种系统变量,然后也可以在它的窗口/选项卡子级别上。

我的代码(精简了这个):

tell application "Safari"
    ...
    repeat with win in winlist
       ...
       repeat with t in tablets
           # win.id
           # t.index
           # t.name
           # t.visible
       end repeat
    end repeat
end tell

所以我正在寻找能够模仿winlastUsedOrderIndextlastUsedOrderIndex的内容。

1 个答案:

答案 0 :(得分:1)

简单的答案是,如果您在应用程序的字典中找不到所需的属性,那么您就不走运了。 AppleScript中的窗口和文档列表通常采用前后排序,因为它们基于orderedWindowsorderedDocuments NSArrays。浏览器中的标签可能是基于语言本地化从左到右或从右到左排序的,但如果任何浏览器有理由在“上次使用”时返回排序标签,我会感到惊讶,无论如何这意味着。