assembling a usable safari 4 09. Jul 2009
Mein erster Updateversuch auf Safari 4 verlief wenig erfolgreich. Nach der Installation des Updates stürzte Safari noch während des Startvorgangs reproduzierbar ab. Mir war zwar klar, dass dies mit hoher Wahrscheinlichkeit mit den von mir installierten Plugins zu tun haben musste, aber diese Erkenntnis half mir dann auch erstmal nicht weiter, da ich mir nicht vorstellen konnte ohne Sogudi und SafariBlock zu leben. Ich führte also ein Downgrade auf Safari 3 durch und ließ erstmal alles beim Alten.
Dank dem Hinweis von Maurice auf Keywurl habe ich dann Tatendrang für einen neuen Anlauf entwickelt. Ich entfernte also die Plugins unter /Library/InputManagers und installierte das neueste Safari 4-Update sowie die aktuellen Versionen von Keywurl und SafariBlock. Um die Kürzel von Sogudi zu übernehmen habe ich dann noch die Präferenzen von Sogudi nach Keywurl kopiert (Das Format ist kompatibel).
mkdir ~/Library/Application\ Support/Keywurl
cp ~/Library/Application\ Support/SogudiShortcuts.plist \
~/Library/Application\ Support/Keywurl/Keywords.plist
Nach dem Kopieren der Präferenzen sind dann alle Kürzel wie gewohnt verfügbar. Lediglich der default-Kürzel wird fehlerhaft importiert. Anstatt complete query muss dort complete location field stehen. Wenn dies angepaßt wird funktioniert der default und zwar sogar nicht nur mit der Leertaste sondern auch ohne alles, sprich Keywurl überschreibt die Safari-Methode zum Aufruf der korrespondierenden Domäne.
Soweit so gut. Updates bedeuten aber leider nicht nur Verbesserungen sondern oft auch Verschlimmbesserungen. In diesem ist die Adressleiste so ein Fall. Nachdem sie schon beim Firefox in Form der Awful Bar verhunzt worden war, legten nun die Safari-Entwickler nach und zerstörten ihrerseits die vorher in ergonomischer Perfektion erstrahlende Schnittstelle.
Vorher:

Nachher:

Wie man an diesem Beispiel schön erkennen kann führen viele Websites in ihrer Titelzeile nicht ihren Namen sondern Suchmaschinenspam, der einem dann statt der URL von Safari 4 an prominenter Position serviert wird, während die URL ein abgelegenes Schattendasein in hellgrauer Schrift fristen muss. Der Versuch dieses “Feature” wieder abzustellen verlief leider erfolglos. Lediglich in der Betaversion gibt es versteckte Präferenzen mit denen die klassische Adressleiste wiederhergestellt werden kann.
Also musste die Betaversion her. Natürlich war diese nicht mehr auf der Apple-Website verfügbar, also musste ich erstmal in den Tiefen des Netzes graben um sie ausfindig zu machen. Als ich diese dann versuchte zu installieren, hat sich diese dann natürlich wie bei Apple-Applikationen üblich geweigert, weil ja schon eine neuere Version der Applikation installiert war. Anstatt sie jetzt davon zu überzeugen sich trotzdem zu installieren habe ich einen anderen Weg eingeschlagen.
Zuerst habe ich mithilfe von Pacifist den Safari.app-Ordner aus der PKG-Datei im Diskimage extrahiert. Um an den Safari.app heranzukommen muss man erstmal mit Pacifist die Datei Payload extrahieren und diese dann wieder mit Pacifist öffnen. Darin befindet sich dann im Applications-Ordner der Ordner Safari.app. Diesen Ordner dann extrahieren und einfach in den Programme-Ordner über die Finalversion drüberkopieren
Das hat zwei Vorteile. Erstens funktioniert es im Gegensatz zu automatischen Installationsroutine auf Anhieb und zweitens behält man so zumindest einen Teil der aktuelleren Dateien der Finalversion.
Nach erfolgreicher Installation dann erstmal die Ernüchterung. Keywurl meldet, dass es mit dieser Version nicht zusammenarbeiten möchte. Ich habe dann versucht es durch einen kleinen Eingriff in die Konfigurationsdatei dazu zu bringen zu laden, aber leider war die initiale Weigerung des Plugins nicht unberechtigt, es funktionierte mit der Betaversion einfach nicht.
Auf der Keywurl-Website waren leider auch keine alten Versionen verlinkt, also probierte ich die URL zu verändern um versteckte Versionen aufzudecken und siehe da es fand sich eine ältere Version welche sich nicht nur auf Anhieb laden ließ sondern auch tadellos funktionierte. Die installierte Version von SafariBlock verrichtete wie gewohnt seine Dienste, also galt es nur noch dem Adresszeilen-Spuk den Garaus zu machen.
defaults write com.apple.Safari \
DebugSafari4IncludeFancyURLCompletionList -bool NO
Und wenn man gerade dabei ist, kann man eigentlich auch gleich noch den blauen Fortschrittsindikator wiederherstellen
defaults write com.apple.Safari \
DebugSafari4IncludeToolbarRedesign -bool NO
defaults write com.apple.Safari \
DebugSafari4LoadProgressStyle -bool NO
und dem albernen Topsites den Saft abdrehen.
defaults write com.apple.Safari \
DebugSafari4IncludeTopSites -bool NO
Das ganze läßt sich im übrigen auch via GUI mit Safari Buddy vornehmen.
Nun ist dies sicherlich keine schöne Lösung, da ich so immer nur von einem Teil der Sicherheitsupdates profitiere, aber ich habe erstmal meine Seelenruhe und vielleicht finde sich ja mit der Zeit noch eine bessere Lösung.
Sehr hartnäckig, Hut ab ;)
Danke auch für den Link zu Keywurl, das kannte ich noch nicht. Die Suche über Keywords in der Adressleiste war tatsächlich das Feature, das ich nach dem Umstieg von FF am meisten vermisst habe. Ich habe mir das dann selbst mit Hilfe von Textexpander nachgebaut – etwas umständlicher, verrichtet aber ohne zu mucken seinen Dienst. Vorteil dabei: die Keywords funktionieren in allen Browsern, wenn man dann doch mal fremdsurft.
Auch eine Erwähnung wert ist sicherlich GreaseKit, das bei Safari die Unterstützung für Greasemonkey Skripte nachrüstet.