Ich brauche eine Tastenkombination zum Hinzufügen von Lesezeichen für mehrere Registerkarten in Safari

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

Antworten (2)

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).

Hierarchieansicht des UI-Browsers

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.

Safari-Dialogfeld „Lesezeichen hinzufügen“.

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:

  1. Alfred : Workflow mit NSApleScript-Aktion + Hotkey-Trigger
  2. Keyboard Maestro : AppleScript-Aktion + Hotkey-Trigger
  3. Automator: Service + Tastenkombination über macOS-Systemeinstellungen ( siehe diese Antwort )
  4. FastScripts Lite (kostenlos für bis zu 10 Tastenkombinationen): Verknüpfung

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.

Voreinstellungen für FastScripts Lite-Skriptverknüpfungen

Mathias danke! Ich habe keine Benachrichtigung erhalten, dass Sie dies gepostet haben, und habe nur gesehen, dass ich gekommen bin, um einen neuen Kommentar hinzuzufügen. Da ich Keyboard Maestro sowie AppleScript und dann ein StreamDeck-Gerät verwende, habe ich auf KM um einige Ratschläge gebeten und ein Apple-Skript erhalten, das dem, was Sie generiert haben, ein wenig ähnlich ist. Ich wollte es hier als Alternative posten, nicht meinen Code, aber es funktioniert, also verlinke ich einfach auf die KM-Site, auf der es lebt. Dein Code sieht etwas sauberer aus! forum.keyboardmaestro.com/t/…
@ClifWatson Warum fügen Sie Ihre Lösung nicht als weitere Antwort hinzu, es könnte Ihnen im Laufe der Zeit einige Upvotes einbringen. Stellen Sie einfach sicher, dass es für sich alleine steht, damit die Benutzer alle benötigten Informationen direkt in AD abrufen können, ohne zu einer anderen Seite navigieren zu müssen.
@ClifWatson froh, dass du sortiert bist! Welchen Weg Sie auch wählen. Außerdem hätten Sie sagen sollen, dass Sie eine Erweiterung verwenden, die nicht mehr funktioniert. Sie können es folgendermaßen zum Laufen bringen: georgegarside.com/blog/macos/…

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

Dies sollte ein Kommentar zu der bestehenden Frage sein. Es beantwortet die Frage selbst nicht.