Mit macOS 10.15 Catalina wurde auch Safari 13 veröffentlicht und aufgrund Apples neuer Sicherheitsbestimmungen werden zahlreiche beliebte Safari-Erweiterungen nicht mehr unterstützt. Während es für die eine oder andere Erweiterung möglicherweise eine zufriedenstellende Alternative gibt, funktioniert mein geliebtes Omnikey nicht mehr. Dabei nutzte ich jene Erweiterung in meinem Alltag sehr viel, beispielsweise dann, wenn ich beim Bloggen nach älteren Artikeln bei uns suchen wollte, die ich eventuell verlinken möchte. Mit Omnikey war es mir möglich, kurz „sb Suchbegriff“ in die Adressleiste von Safari zu tippen und schon erhielt ich alle Beiträge zum Thema „Suchbegriff“ auf unserer Suchseite präsentiert. Das Kürzel „sb“ ist natürlich austauschbar, hilft mir aber, zwischen diversen Suchseiten zu unterscheiden. Für die Suche nach YouTube-Videos habe ich zum Beispiel das Kürzel „yt“ genommen. Doch all das ist vorbei mit Safari 13. Bis ich dann auf ein kleines Tutorial gestoßen bin, das mein Interesse geweckt hat.
Demnach lässt sich mit Apples Automator-Dienst von macOS ein Umweg basteln, der meiner Meinung nach durchaus zufriedenstellend ist, zumal ich ungern zu Chrome oder einem anderen Browser wechseln mag. Nicht weil die Browser schlecht wären, aber ich habe mich einfach auf Safari eingeschossen. Das Tutorial entspringt nun also nicht meiner eigenen Kreativität, vielmehr möchte ich euch hier einfach mal (auf Deutsch) zeigen, wie ihr vorgehen müsst.
- Öffnet den Automator (CMD+Leertaste -> Automator suchen)
- Wählt als neues Dokument „Schnellaktion“ aus und begebt euch in die Suchleiste oben links, um eine Aktion auszuwählen:
- Sucht dort nach AppleScript ausführen und wechselt anschließend auf die rechte Seite des Fensters in den Bereich „Arbeitsablauf empfängt„
- Wählt hier „keine Eingabe“ aus
- Führt nun einen Doppelklick auf die Aktion AppleScript ausführen aus, womit rechts im Fenster ein neues Default-Skript erstellt werden sollte
- Kopiert euch das nachfolgende Skript und ersetzt damit das existierende vorgefertigte Skript im Automator:
use AppleScript version „2.5“
use framework „Foundation“
use scripting additions
property |?| : a reference to current application
property shortcuts : {{„ama“, „https://www.amazon.com/s/?link_code=wsw&_encoding=UTF-8&search-alias=aps&field-keywords={search}&Submit.x=0&Submit.y=0&Submit=Go“}, ¬
{„sb“, „https://stadt-bremerhaven.de/?s={search}“}, ¬
{„maps“, „https://maps.google.com/maps?hl=en&authuser=0&q={search}&ie=UTF-8“}, ¬
{„we“, „https://en.wikipedia.org/w/index.php?title=Special:Search&search={search}“}, ¬
{„yt“, „https://www.youtube.com/results?search_query={search}“}}
activate application „Safari“
tell application „System Events“
tell process „Safari“
try — Safari is in full screen mode
set theGroup to 1st group of toolbar 1 of group 1 of window 1 whose class of text field 1 is text field
on error — Safari is in standard mode
set theGroup to 1st group of toolbar 1 of window 1 whose class of text field 1 is text field
end try
set textValue to value of text field 1 of theGroup
end tell
end tell
set spaceOffset to offset of space in textValue
if spaceOffset = 0 then return
set token to text 1 thru (spaceOffset – 1) of textValue
set query to text (spaceOffset + 1) thru -1 of textValue
set nsQuery to |?|’s NSString’s stringWithString:query
set allowedPathCharacterSet to |?|’s NSCharacterSet’s URLPathAllowedCharacterSet()
set encodedQuery to nsQuery’s stringByAddingPercentEncodingWithAllowedCharacters:allowedPathCharacterSet
repeat with aShortcut in shortcuts
set {_token, _url} to contents of aShortcut
if _token is token then
set queryURL to (|?|’s NSString’s stringWithString:_url)
set searchURL to (queryURL’s stringByReplacingOccurrencesOfString:“{search}“ withString:encodedQuery)
tell application „Safari“ to set URL of current tab of window 1 to (searchURL as text)
exit repeat
end if
end repeat
- Im Bereich „property shortcuts“ dürft ihr nun eine eigene Suchseite hinzufügen, die ihr per Kürzel mit eurer Suchanfrage „belästigen“ wollt – in meinem Fall ist das unser Blog, demnach lautet der Eintrag mit Kürzel
{„sb“, „https://stadt-bremerhaven.de/?s={search}“},
- Wie im Screen zu erkennen ist, habe ich das Skript um die IMBD-Suche erleichtert und stattdessen den Eintrag für die Suche im Blog eingefügt. Der Platzhalter {Search} beinhaltet dann später euren Suchbegriff
- Nun müsst ihr das Ganze nur noch speichern per CMD+S und dem Skript einen Namen verpassen. In meinem Fall „SafariSuchErweiterung“
- Wechselt nun in die Systemeinstellungen in den Bereich „Tastatur“
- Im Reiter „Kurzbefehle“ sollte sich unter „Dienste“ euer neu erstelltes Skript ganz unten aufgelistet befinden
- Wählt dieses aus und verpasst dem Skript dort auch noch eine Tastenkombination, die ihr euch einprägen müsst und mit der ihr euer Skript zur Suche ausführen werdet (ersetzt das Bestätigen der Suchanfrage per Enter-Taste)
- Überprüft nun noch, ob ihr unter Einstellungen > Sicherheit > Datenschutz bei der Automation die System Events von Safari mit einem Häkchen versehen habt:
- Außerdem sollte hier auch in den Bedienungshilfen nicht nur Safari aktiviert sein, sondern auch der Automator (musste ich hier nachträglich aktivieren)
Nun habt ihr euer Skript erstellt und eurer Tastatur beigebracht, mit welcher Tastenkombination jenes zu starten ist. Außerdem sollten nun sämtliche notwendigen Systemrechte vorliegen, damit das Skript auch arbeiten kann. Öffnet ihr nun Safari und wechselt in die Adressleiste, müsst ihr dort nur noch euer festgelegtes Kürzel gefolgt von der Suchanfrage eintippen und das Ganze – statt mit Enter – mit eurer Tastenkombination bestätigen. Safari wird die Suchanfrage nun in demselben Tab ausführen und euch die Suchergebnisse auf der von euch festgelegten Seite präsentieren:
