Zu dieser Frage gab es vor ein paar Jahren einen älteren Beitrag (Link unten), aber ich frage mich, ob dieser Prozess aufgrund von iCloud-Lesezeichen, Safari 12, neuem MacOS usw. nicht mehr funktioniert.
Ich möchte eine Tastenkombination für "Lesezeichen für diese (XX) Registerkarten hinzufügen ..." in einem aktuellen Fenster von Safari erstellen. Die Systemeinstellungen > Tastatur > Verknüpfungen funktionieren nicht, da die Menübezeichnung genau sein muss und die Variable für die Registerkartennummer jedes Mal geändert werden muss, um mit der Anzahl der Registerkarten übereinzustimmen. Ich habe einen Test mit 5 drin gemacht und das funktioniert für eine Instanz mit 5 Registerkarten. Nicht sicher, ob es eine Variable gibt, die dort geschrieben werden kann, die weiß, dass sie geändert werden muss.
Wenn nicht über die Systemeinstellungen, vorausgesetzt, es müsste so etwas wie ein Apple-Skript sein, das funktionieren würde, wenn ich versuche, Stream Deck zu verwenden, um eine Schaltfläche zum Auslösen des Skripts festzulegen.
Hinzufügen von Lesezeichen für mehrere Registerkarten in Safari mit einer Tastenkombination
OK, das AppleScript, das zum Klicken auf diesen Menüpunkt erforderlich ist, ist also ganz einfach:
click menu item 8 of menu 1 of menu bar item "Bookmarks" of menu bar 1
Um diese spezielle Beschwörung zu entwickeln, habe ich UI Browser.app verwendet (es gibt eine kostenlose Testversion). Wählen Sie in UI Browser.app Ihre Ziel-App aus, verwenden Sie die Spaltensuche, um den Menüpunkt zu finden, an dem Sie interessiert sind, und verwenden Sie dann das AppleScript-Dropdown-Menü, um das erforderliche Snippet in Ihre Zwischenablage zu kopieren (oder drücken Sie Alt+ Cmd+ T).
Ich habe eine kleine Änderung am Snippet vorgenommen, um nur den Menüpunkt „Lesezeichen“ namentlich zu referenzieren.
Das AppleScript-Snippet muss ein wenig mehr herausgeputzt werden, um nützlich zu sein:
activate application "Safari"
tell application "System Events"
tell process "Safari"
click menu item 8 of menu 1 of menu bar item "Bookmarks" of menu bar 1
end tell
end tell
Das funktioniert sowohl für Safari als auch für Safari Technology Preview , was schön ist.
Wenn Sie dies beispielsweise in macOS Script Editor.app ausführen, wird remote auf das referenzierte Menüelement geklickt und das erwartete Bestätigungsdialogfeld angezeigt.
Hinweis: Sie könnten zusätzliches AppleScript hinzufügen, um den Bestätigungsdialog zu manipulieren und/oder zu schließen; Ich überlasse solche Änderungen dem Leser als Übung.
Schließlich müssen wir eine Tastenkombination hinzufügen, um auf das Menü zuzugreifen. Es gibt verschiedene Möglichkeiten, dies zu tun, und die Wahl hängt von den persönlichen Vorlieben und/oder der zur Verfügung stehenden Software ab:
Hinweis: Es ist nicht mehr möglich, einem Element im macOS-Skriptmenü eine Tastenkombination zuzuweisen, daher habe ich diese Methode zum Aufrufen des Skripts nicht eingefügt.
Die letzte der oben genannten Optionen, FastScripts Lite , ist kostenlos und auch die einfachste Methode, daher werde ich sie in dieser Antwort verwenden.
Geben Sie das obige „activate…end tell“-Snippet in macOS Script Editor.app ein und speichern Sie das resultierende Skript unter ~/Library/Scripts/Applications/Safari/Save Bookmarks for Current Window Tabs.scpt
.
In FastScripts Lite.app haben Sie jetzt ein Menüelement, das effektiv ein Alias für Safaris Menüelement „Lesezeichen für diese X-Tabs hinzufügen ...“ ist und dem mit FastScripts Lite.app > Einstellungen > eine Tastenkombination zugewiesen werden kann Skript-Shortcuts.
Sehr schöne Arbeit, ich habe dies 2021 in Safari auf Spanisch ausprobiert und es funktioniert, aber das Ändern des Elements 8 durch das Element 7 und das Ändern von „Lesezeichen“ durch „Marcadores“ und funktioniert perfekt
Aber eigentlich muss ich nichts weiter tun, ich kopiere einfach den Code, füge den Automator ein und gebe eine Zugriffsberechtigung, und es funktioniert, ich muss nicht "Alfred oder Keyboard Maestro" verwenden.
Meine Tests sind auf Mac OS Big Sur 11.5.2
Clif Watson
kein Hang
Matt Sephton