Migracja z TextExpandera do Keyboard Maestro

19/04/2016, 18:48 · · · 1

Z powodu zmiany sposobu dystrybucji TextExpandera na subskrypcję, sporo osób postanowiło skorzystać z innych rozwiązań. Inni szukają sposobu na uszczuplenie ilości wykorzystywanych aplikacji. Jeśli na przykład posiadacie też Keyboard Maestro, to mam dla Was skrypt, który pomoże przenieść większość snippetów do tej aplikacji.

Na początku jedna uwaga – niżej opisany skrypt przeniesie wszystkie skróty z TextExpandera 5.x do Keyboard Maestro, ale tylko w postaci, w której po wpisaniu słowa kluczowego będzie ono rozwinięte (wklejone lub wpisane) do dłużej formy, jaka widniała w TE. Oznacza to, że jeśli używaliśmy w TE skrótów bazujących na polach do wpisania czy skryptach, to nie będą działać – zamiast nich zostanie wklejona treść kodu. Postaram się jednak za jakiś czas opisać, jak również takie snippety można będzie przenieść do Keyboard Maestro.

Ponieważ zarówno snippety używane w TextExpanderze jak i makra w Keyboard Maestro korzystają z plików XML, wystarczy odpowiednio zmodyfikować te pierwsze na drugie. Oczywiście trzeba jeszcze wiedzieć jak to zrobić, ale na szczęście zawsze znajdzie się ktoś, kto taką wiedzą dysponuje. Podobnie było i tym razem, a odpowiedzialny za to jest jeden z pracowników Dropboksa – Ryan. Udostępnił na GitHubie skrypt napisany w Pythonie. Możecie pobrać go po przejściu na tę stronę → klik – i kliknięciu przycisku Download ZIP.

Zostanie pobrana paczka textexpander_to_keyboardmaestro-master.zip, którą trzeba rozpakować. Wyciągamy z niej plik TE.py, na przykład do folderu Biurko. Teraz trzeba otworzyć Terminal i uruchomić skrypt poleceniem:

To znaczy, teoretycznie. Skrypt zadziała od razu, jeśli spełnione zostaną dwa warunki:

  1. Plik Settings.textexpandersettings znajduje się w folderze ~/Dropbox/TextExpander
  2. Plik Settings.textexpandersettings zapisany jest w najnowszej wersji (dla aplikacji TextExpander 5.x)
  3. Macie zainstalowanego Pythona w wersji 2.7.x (jeśli macie OS X 10.11, to macie go w tej wersji)

W takim wypadku, po wykonaniu skryptu, w folderze Biurka utworzony zostanie katalog TextExpander_to_KeyboardMaestro, gdzie znajdą się wszystkie grupy snippetów z TextExpandera zapisane w postaci paczek makr dla Keyboard Maestro. Po dwukrotnym kliknięciu każdej z nich, zostanie dodana do KM również jako nowa grupa z przedrostkiem Snippet -.

Jak już jednak napisałem, skrypt zadziała, jeśli będą spełnione podane warunki. W moim przypadku, z racji tego, że z TextExpandera korzystam już od dawna, jego plik konfiguracyjny był zapisany w starszej wersji (mimo że posiadam wersję 5.x). Na szczęście da się to bardzo łatwo rozwiązać. Wystarczy uruchomić preferencje TextExpandera, przejść do zakładki Sync i kliknąć przycisk Save Snippets As…. Wskazujemy nasze domyślne miejsce, np. w folderze ~/Dropbox/TextExpander. W ten sposób utworzony zostanie plik (a ściślej pisząc pakiet) Settings.textexpandersettings.

Niestety, choć spełniłem te dwa warunki, skrypt nadal nie chciał działać. Tym razem informował o jakichś dziwnych błędach. Okazało się, że jakiś problem stanowiła grupa sugerowanych snippetów tworzona, czyli nowość zaprezentowana w wersji 5.x. Po jej usunięciu (nigdy nie skorzystałem z tej grupy), wszystko poszło już zgodnie z planem.


Na koniec chciałbym poruszyć jeszcze jedną kwestię – kiedy nie macie pliku konfiguracyjnego w folderze Dropboksa. Wtedy trzeba edytować pobrany skrypt w wybranym przez nas edytorze tekstowym (np. darmowym TextWranglerze). Plik jest dosyć długi, ale na szczęście wszystkie opcje konfigurowalne umieszczone zostały na początku.

Zmienna TEXTEXPANDER_PATH przechowuje informacje, gdzie znajduje się plik kofiguracyjny TextExpendera. Zmieniamy ścieżkę, jeśli jest inna (bez uwzględnienia folderu domowego).

Zmienna SAVE_PATH pozwala nam ustalić ścieżkę, gdzie oraz pod jaką nazwą ma się pojawić folder z paczkami makr do Keyboard Maestro.

Zmienna OPTIONAL_NEW_PREFIX umożliwia ustawienie własnego przedrostka tworzonych w KM grup (domyślnie Snippet -).

Ostatnia zmienna z kolei – PASTE_OR_TYPE – daje nam wybór w sposobie wstawiania „rozwijanej” treści poprzez jej wklejenie (paste) lub wpisanie (type). Pierwsza opcja jest oczywista. Druga natomiast symuluje wpisanie treści z klawiatury. Ma to swój niewątpliwy plus – na części stron w formularzach zastosowano „zabezpieczenie” w postaci zablokowania możliwości wklejania. Poza tym wpisywanie działa dużo bardziej niezawodnie. Ale ma też swój minus – trwa dłużej niż wklejanie. Nie jest to zbyt uciążliwe w przypadku krótkich tekstów, ale przy dłuższych już tak.

Źródło Ryan M



1

Maciej Skrzypczak

Użytkownik sprzętu z nadgryzionym jabłkiem, grafik komputerowy, nałogowy gracz ARK: Survival Evolved. Redaktor iMagazine.pl.