Tipp: Safari 13 auf dem Mac per Automator wieder eigene Suchmaschinen beibringen
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:
Da es für Safari 13 keine wirkungsvollen Adblocker mehr gibt, haben sich unsere Wege nach knapp 20 Jahren getrennt. Zumindest auf dem Macbook. Ich verbringe viel Zeit auf Spiegel Online, und diese Seite ist leider ohne ublock origin nicht ertragbar. Nichts gegen ein bißchen Werbung, aber für bunte Kirmes bin ich wirklich zu alt….
Hättest du mal lieber die Chance genutzt und SPON von deiner Liste gestrichen…
GENAU DAS!
Ich bin auf allen Geräten zu Firefox gewechselt. Egal ob iOS, OSX, Windows 10…alles super. Darüber hinnaus hat ein Browser der mir meine Suchmaschine vorschreiben will mein Vertrauen nicht verdient.
Alfred wäre da auch ne gute Alternative. Das würde quasi dann mit jedem Browser funktionieren.
Thomas
Und was kann man mit Alfred machen? Suchmaschinen erstellen oder Adblocker??
Na in dem Post ging es um Suchen, die mit nem Keyword getriggert werden. Und genau das kann man mit Alfred machen.
Ich verstehe nicht warum ihr nicht auf OpenSearch setzt. Das kann jeder Browser. Eine XML-Datei im Root reicht.
https://developer.mozilla.org/de/docs/OpenSearch_Plugin_für_Firefox_erstellen
Warum so kompliziert? Einfach DuckDuckGo als Standardsuchmaschine einstellen und fertig. Dann für Suchen z. B. bei YouTube „Suchbegriff !yt“ in der Adresszeile eingeben. Für Stadt-Bremerhaven.de „Suchbegriff !caschy“. Es gibt noch tausende mehr von diesen „Bangs“, Reihenfolge bei der Eingabe ist egal.
Hatte da vor einer Zeit mal zu gebloggt, falls es interessiert (hoffe Link ist ok): https://greatestview.de/die-bessere-standard-suchmaschine-duckduckgo/
Der safari ist sowieso der lahmste Browser aller Zeiten. Ich hatte auf großen Seiten ständig die bunte Ladekugel und wenn man der Geste zurück gesprungen ist, hat alles 3-5 Sekunden komplett gehangen. Ich dachte Anfangs es liegt am DualCore Cpu meines MacBook Air. Hab mittlerweile den Chrome Edge Beta Browser auf allen Geräten laufen und keine Probleme mehr.
Der Code lässt sich leider nicht so gut kopieren, weil die stilistischen Anführungszeichen nicht erkannt werden und man alle manuell kopieren müsste.
@Benjamin: Kannst du das vielleicht nochmal auf einer Code-Paste Seite verlinken, wie z.B. https://pastecode.xyz ? Dann bleiben auch die Einrückungen erhalten.
https://pastebin.com/VUbQwcB1