2016-04-17 9 views
0

Ich benutze AppleScript, um alle Registerkarten in mehreren Browsern (zuerst mit Safari) mit bestimmten Kriterien in ihrem Titel zu finden und sie an stdout für ein anderes Skript zu übergeben.Reihenfolge der Anwendungen, Fenster, Registerkarten erkennen

So habe ich die grundlegenden Informationen, die ich brauche;

windowid

tabindex

tabname

tabvisible

Also von diesem Punkt, den ich, welche meiner Safari Bildschirme weiß, dass meine Kriterien passen, und ich log ihre windowid und ihre tabindex. Abgesehen davon mit tabvisible kann ich wissen, welche die vorderste ist.

Jetzt habe ich noch ein Problem. Ich möchte wirklich wissen, welches Fenster und welcher Tab zuletzt aktiv war. Auch wenn ich nur die windowid, die zuletzt vom Benutzer verwendet wurde, wissen kann, würde es automatisch bedeuten, dass in diesem Fenster tab mit visible True ist der letzte.

Aber da ist noch etwas. Wenn die visibletab meine Kriterien nicht erfüllt, dann müsste ich auch die Reihenfolge der letzten aktiven wissen.

Also was ich suche ist ein Zähler/Bestellwert der letzten aktiven Fenster und Tabs. Ich kann in der Dokumentation nichts finden, das mir diesen Zähler geben könnte. Beispielsweise; Die TAB-Logik in OS X weiß, welche Apps zuletzt verwendet wurden. Ich habe mich gefragt, ob diese Logik als eine Art Systemvariable und dann auch auf ihrer Unterebene Fenster/Tab verfügbar sein würde.

Mein Code (abgespeckte tut dies):

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 

Und so für etwas, was ich bin auf der Suche, die win emuliert. lastUsedOrderIndex und t. lastUsedOrderIndex.

+0

Beachten Sie, dass Browser verschiedene AppleScript-Wörterbücher haben. Zum Beispiel hat FireFox überhaupt keine. – vadian

+0

Danke für den Tipp! Ich werde mich zuerst auf Safari/Chrome konzentrieren. Irgendein Browser, der nicht folgen wird, werde ich zuerst überspringen. Vielleicht werde ich später versuchen, Erweiterungen für inkompatible Browser zu schreiben. –

Antwort

1

Die einfache Antwort ist, dass wenn Sie nicht die Eigenschaften finden, die Sie im Wörterbuch der Anwendung benötigen, dann haben Sie kein Glück. Fenster- und Dokumentlisten in AppleScript sind normalerweise in einer Reihenfolge von vorne nach hinten angeordnet, da sie auf den NSArrays orderedWindows und orderedDocuments basieren. Tabs in einem Browser sind wahrscheinlich von links nach rechts oder von rechts nach links sortiert, basierend auf der Sprachlokalisierung, aber ich wäre überrascht, wenn ein Browser einen Grund hätte, Tabs zurückzugeben, sortiert nach dem Zeitpunkt der letzten Nutzung das bedeutet.

Verwandte Themen