Mastodon
Zdjęcie okładkowe wpisu Dodaj nową kartę w Safari zaraz za aktywną kartą, zamiast na ich końcu

Dodaj nową kartę w Safari zaraz za aktywną kartą, zamiast na ich końcu

2
Dodane: 5 lat temu

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.

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.

  1. 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).
  2. Teraz należy w tej grupie stworzyć nowe makro.
  3. 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.
  4. 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!

Wojtek Pietrusiewicz

Wydawca, fotograf, podróżnik, podcaster – niekoniecznie w tej kolejności. Lubię espresso, mechaniczne zegarki, mechaniczne klawiatury i zwinne samochody.

Zapraszamy do dalszej dyskusji na Mastodonie lub Twitterze .

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