Dodaj nową kartę w Safari zaraz za aktywną kartą, zamiast na ich końcu
Safari ma jedno nienaturalne (dla mnie) zachowanie w kwestii otwierania nowych kart, które w końcu udało mi się rozwiązać za pomocą prostego AppleScripta i Keyboard Maestro.
Wyobraźcie sobie, że macie otwarte 3 karty w Safari i aktywną jest ta druga (środkowa). Jeśli ⌘-kliknicie w jakiś link, to otworzy się on w nowej karcie, na prawo od tej aktywnej, przesuwając trzecią na miejsce czwarte. To jest naturalne i zrozumiałe.
Jeśli jednak będziecie na jakiejkolwiek innej karcie niż ostatnia i będziecie chcieli otworzyć nową kartę, to otworzy się ona na końcu, po skrajnej prawej stronie. Na powyższym przykładzie, jeśli aktywna jest karta druga (środkowa), to skrót ⌘T otworzy kartę nie obok niej, ale jako kartę czwartą, na prawo od trzeciej. Dzięki prostemu skryptowi można to zmienić tak, żeby otworzyła się obok aktywnej karty.
Thanks to @gruber for finally solving an issue that was bugging me for years! My Keyboard Maestro implementation works perfectly. I wrote about it here https://t.co/tewxO0dm3R but just look at the attached screen rec to see the difference. pic.twitter.com/CJzJE67UeT
— Wojtek Pietrusiewicz (@morid1n) December 13, 2018
Jeśli nie do końca rozumiecie o czym mówię, to możecie to zaobserwować na powyższym klipie.
Przepis
Będziecie potrzebowali albo FastScripts od Red Sweater Software, albo Keyboard Maestro, z którego sam korzystam. Oba programy są warte zainteresowania. Poniższy przepis dotyczy Keyboard Maestro.
- Jeśli nie macie jeszcze grupy makr tylko dla Safari, to czas taką stworzyć. W kolumnie grupy dodajecie nową i nazywacie ją odpowiednio, np. Safari i ograniczacie jej działanie tylko do aplikacji Safari (wybieracie z listy).
- Teraz należy w tej grupie stworzyć nowe makro.
- Jak trigger ustawiacie sobie Hot Key i wpisujecie tam ⌘T. Po wciśnięciu tego skrótu klawiszowego w Safari, pierwszeństwo będzie miało Keyboard Maestro, a domyślna akcja Safari zostanie zignorowana.
- Makro składa się z funkcji Execute AppleScript, do której wklejacie poniższy kod:
tell application "Safari" tell front window set _old_tab to current tab set _new_tab to make new tab at after _old_tab set current tab to _new_tab end tell end tell
To wszystko!
Komentarze: 2
Domyślne zachowanie Safari też jest naturalne – otwierając link z cmd+click otwiera się obok, bo “trzyma” kontekst strony, z której przechodzisz. Otwierając nową zakładkę zachowuje się tak, jakbyś zaczynał pracę od zera, bez wcześniejszego kontekstu. Kwestia przyzwyczajenia i “widzimisię” tak jak wspomniałeś na początku :)
Domyślne zachowanie Safari też jest naturalne – otwierając link z cmd+click otwiera się obok, bo “trzyma” kontekst strony, z której przechodzisz. Otwierając nową zakładkę zachowuje się tak, jakbyś zaczynał pracę od zera, bez wcześniejszego kontekstu. Kwestia przyzwyczajenia i “widzimisię” tak jak wspomniałeś na początku :)