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;
window
id
tab
index
tab
name
tab
visible
Also von diesem Punkt, den ich, welche meiner Safari Bildschirme weiß, dass meine Kriterien passen, und ich log ihre window
id
und ihre tab
index
. Abgesehen davon mit tab
visible
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 window
id
, 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 visible
tab
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
.
Beachten Sie, dass Browser verschiedene AppleScript-Wörterbücher haben. Zum Beispiel hat FireFox überhaupt keine. – vadian
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. –