Keyboard Maestro

Keyboard Maestro – makro działające w wybranej aplikacji

Jeżeli macie potrzebę stworzenia makra uruchamianego przy użyciu skrótu klawiszowego, które będzie uruchamiane tylko i wyłączenie w wybranej przez Was aplikacji, to oczywiście jest to możliwe.

W tym celu należy stworzyć odpowiednią grupę makr. To właśnie ten element ma możliwość zdefiniowania tego, gdzie zebrane w nim elementy mają działać. Wystarczy na nią kliknąć i w panelu preferencji otrzymujemy odpowiednie opcje. Poza trybem opisanym w tytule tego wpisu możecie również, poza domyślną opcją uruchamiania wszędzie, wybrać programy w których dane makro nie będzie się uruchamiało. Oczywiście nie jesteście ograniczeni do jednej pozycji i śmiało możecie przygotować odpowiednie listy aplikacji.

keyboard_maestro_grupy

Polecam Wam wykorzystanie odpowiednich grup makr ze zdefiniowanymi listami odnoszących się do nich aplikacji. W ten prosty sposób możemy znacząco uporządkować nasze zbiory i jednocześnie podnieść liczbę dostępnych skrótów klawiaturowych.

Keyboard Maestro – Testowanie łącza internetowego

Przetestowanie łącza internetowego to jedna z najczęstszych czynności jakie wykonuje się podłączając do nowej sieci, lub testując te dobrze już znane. Oczywiście faworytem w kategorii narzędzi używanych w tym celu jest Speedtest. Dla mnie jednak irytujące było odpalanie strony internetowej i klikanie odpowiednich przycisków. Z tego względu postanowiłem wykorzystać w tym celu Terminal. Oczywiście cel został osiągnięty, a sposób na to znajdziecie TUTAJ. Polecam, ze względu na szybkość i sprawność tego rozwiązania. Jednak apetyt rośnie w miarę jedzenia, więc każdorazowe uruchamianie terminala w celu przeprowadzenia testu szybko przestało mnie satysfakcjonować. W tym momencie pojawiła się myśl o wykorzystania w tym celu skrótu klawiaturowego, który pozwoli Keyboard Maestro wyręczyć mnie w tej kwestii.

Postanowiłem, że rozwiązanie musi spełniać poniższe warunki:

  • test uruchamia się bez użycia terminala – w tle
  • po wykonaniu otrzymam wynik w formie powiadomienia OS X
  • wynik wraz z nazwą sieci z której przeprowadzony był test zostanie zapisany w pliku, który będzie służył mi za archiwum przeprowadzonych pomiarów
  • plik z logiem będzie zawierał link do graficznej prezentacji testu na portalu Speedtest

Do dzieła. W pierwszej kolejności potrzebujemy skryptu, który umożliwia wykonanie testu szybkości łącza przy użyciu CLI. Ja postanowiłem, że dla porządku umieszczę go w katalogu, w którym będę zbierał wyniki jego działania. W tym celu w moim katalogu domowym stworzyłem katalog Logs, a w nim Speedtest. Po czym wrzuciłem tam skrypt, który znajdziecie w tym miejscu. Od tego momentu jesteśmy gotowi do skonfigurowania Makra w Keyboard Maestro. Będzie ono wyzwalane skrótem klawiaturowym:

shift+ctrl+alt+cmd+S (⌂+⌃+⌥+⌘+S)

Pierwszą akcją jaką wykonujemy jest odpalenie skryptu Shell, którego wynik zapiszemy do zmiennej speed_test. Dodatkowo, są w nim zawarte argumenty i polecenia mające na celu sformatowanie wyniku testu do formy przyjaznej oku. Pamiętajcie, aby zmienić ścieżkę dostępu do skryptu, zgodnie z tym gdzie go umieściliście. W tym celu wystarczy przeciągnąć pliczek z Findera w odpowiednie miejsce składni.

Keyboard_Maestro_SpeedTest_1

Kolejnym krokiem jest zapisanie efektu działania skryptu do odpowiedniego pliku. W tym miejscu przygotowałem wymaganą w moim przypadku składnię, która spowoduje że log będzie prezentował dane w sposób pełny i czytelny. Zwróćcie uwagę, że pobieramy tutaj nazwę sieci lokalnej do której jesteśmy podłączeni. Zdecydowanie ułatwi to późniejszą analizę testów wykonanych w przeszłości. Co ważne, musicie pamiętać o zdefiniowaniu odpowiedniej ścieżki, gdzie przebiegał będzie zapis pliku. Ja zdecydowałem się na zwykły format .txt.

Keyboard_Maestro_SpeedTest_2

Na koniec pozostaje przygotowanie odpowiedniego powiadomienia systemowego z wynikami. Tutaj również wykorzystujemy zmienną speed_test. Jest to ostatni krok, jaki musimy podjąć w celu spełnienia wszystkich przyjętych wymagań. Poniżej możecie spojrzeć na gotowe makro w pełnej krasie.

Keyboard_Maestro_SpeedTest

W efekcie otrzymujemy mechanizm, który wyzwolony skrótem klawiaturowym wykona dla nas test łącza, zachowa jego wynik w odpowiednim pliku oraz powiadomi nas o nim przy użyciu centrum powiadomień OS X. Nie trzeba zbyt długo się zastanawiać, żeby określić ilość czasu, którą w ten sposób zaoszczędzimy. Serdecznie polecam Wam to rozwiązanie. Jest to kolejny element, który pokazuje potęgę automatyzacji osiągalną przy użyciu Keyboard Maestro.

W tym miejscu możecie pobrać gotowe makro, które z łatwością zaimportujecie u siebie. Polecam jednak samodzielne jego stworzenie. Pamiętajcie, praktyka czyni mistrza.

Automatyczne ponowienie synchronizacji w OmniFocus po błędzie

Ostatnimi czasy usługa OmniSync, która odpowiada za synchronizację dla oprogramowania firmy OmniGroup miewała częste czkawki. Co prawda według ostatnich informacji została ona zasilona nowym sprzętem, który ma zapobiec wszelkim przeciążeniom i nie planowanym przerwom w działaniu jednak warto być przezornym.

Sam OmniFocus nie pozwala nam na precyzowanie jego zachowania w kwestii synchronizacji. Mało tego, po nieudanej próbie połączenia z serwerem nie inicjuje on ponownie tego procesu w sposób, który satysfakcjonowałby mnie osobiście jak i zapewne spore grono jego użytkowników. Domyślam się, że ma to na celu zapobiec dobiciu i tak już ledwo dychającego serwera po stronie firmy hostującej. Co w takim przypadku? Wystarczy posiadać oprogramowanie Keyboard Maestro i pozwolić mu czuwać nad stanem naszej synchronizacji. Poniżej ściąga, którą możecie zastosować u siebie. Gdybyście się zastanawiali jak dodać znak ≠ to należy nacisnąć alt+=.

aplsc_25_06_2014_1

W skrócie, Keyboard Maestro będzie co dziesięć minut w wyznaczonym przedziale czasu odpytywał OmniFocus, czy udało mu się dokonać procesu synchronizacji z serwerem. Jeżeli odpowiedź będzie negatywna, wymusi on synchronizację. Proste, skuteczne i co najważniejsze pozwalające zaoszczędzić odrobinę nerwów. Jeżeli Keyboard Maestro gości na Waszych komputerach i korzystacie z OmniFocus to żal nie wykorzystać tego mechanizmu. Polecam.

Gotowe makro możecie pobrać TUTAJ

Aplikację OmniFocus 2 znajdziecie w AppStore dla systemów OS X oraz iOS.

Integracja Alfreda z Keyboard Maestro

Moim MacBookiem władają dwie aplikacje, bez których nie wyobrażam już sobie codziennej pracy – Keyboard Maestro oraz Alfred. Co prawda, ta pierwsza posiada odpowiedni skrót pozwalający przejrzeć i zainicjować odpowiednie makro, które wcześniej stworzyliśmy, jednak nie do końca odpowiada mi forma prezentacji tej treści. Zdecydowanie bardziej wole czytelność gwarantowaną przez mechanizmy Alfreda.

Z tym większą radością, zainstalowałem odpowiednie Workflow, które nareszcie pozwoliło mi zintegrować Alfreda z Keyboard Maestro. Warto wspomnieć, że w jego przygotowaniu pomógł Peter Lewis, który jest jednym z twórców oprogramowania ze stajni Stairways Software. Całość działania, po instalacji, polega na wpisaniu w oknie Alfreda skrótu KM, który pozwala nam na wyświetlenie i użycie dowolnego makra, które wcześniej skonfigurowaliśmy. Proste i użyteczne. Pozwala to zapomnieć o domyślnym oknie wykonywania i wyszukiwania jakie oferuje Keyboard Maestro.

Dla mnie czysta rewelacja, zwłaszcza w obliczu mojego absolutnego uzależnienia od używania Alfreda.

Link do Workflow na portalu GitHub

Automatyczna konfiguracja f.lux w zależności od lokalizacji

Jak wiecie, jestem wielkim fanem niewielkiej aplikacji f.lux, o której pisałem ostatnio na łamach applesauce. Najczęściej korzystam z niej na moim MacBooku, który wędruje ze mną pomiędzy biurem a domem. Oczywiście w tych dwóch miejscach posiadam różne rodzaje sztucznego oświetlenia, dlatego postanowiłem zautomatyzować konfigurację f.luxa w zależności od miejsca, w którym aktualnie przebywam. Sezon jesienno-zimowy, kiedy często przebywam w miejscu pracy po zmroku, dodatkowo zmotywował mnie do skonfigurowania odpowiedniego mechanizmu.

W tym celu użyłem niezastąpionego Keyboard Maestro. Działanie makra opiera się na tym, z jaką siecią bezprzewodową aktualnie łączy się mój Mac, co uznaję za wyznacznik mojej lokalizacji. Jest to standardowy trigger, którego nie trzeba szczególnie tłumaczyć. Problem pojawił się, w kwestii samej zmiany ustawień f.luxa. Aby wywołać jego ustawienia, potrzebny jest aktywny pulpit naszego systemu. W tym celu skorzystałem z niestandardowej akcji, która weryfikuje czy już odblokowałem swoją maszynę. Pisałem o niej w tym miejscu. Niestety sama aplikacja, nie posiada globalnych skrótów klawiaturowych więc należy ją aktywować i wywołać jej panel właściwości przy pomocy standardowego skrótu klawiaturowego „⌘+,” . Na tym etapie musimy ustawić suwak w odpowiednim miejscu odpowiadającemu wymaganej przez nas temperatury barw ekranu oraz zatwierdzić wybór. W tym celu wykorzystujemy akcję Move and Click definiując odpowiednią lokalizację kursora w odniesieniu do aktywnego okna, a następnie wykonać akcję Press Button dla przycisku Done

KM_flux_1

Makro działa bez zarzutu, i pozbyłem się w ten sposób kolejnej czynności, która nie potrzebnie zajmowała mój czas. Jeżeli przemieszczacie się pomiędzy kilkoma lokalizacjami o różnych rodzajach sztucznego oświetlenia to zdecydowanie polecam to rozwiązanie. Poniżej możecie pobrać moje makro, do własnych testów i modyfikacji.

Keyboard Maestro – f.lux

Keyboard Maestro – uruchomienie makra po odblokowaniu komputera

Tworząc jedno z makr w Keyboard Maestro stanąłem przed problemem, który mimo swojej prostoty okazał się całkiem sporym wyzwaniem. Mianowicie, chciałem aby makro zostało wykonane w sytuacji, kiedy komputer podłącza się do zdefiniowanej sieci bezprzewodowej i zostaje odblokowany, czyli w momencie kiedy widzę przed sobą pulpit systemu OS X.

Oczywiście w Keyboard Maestro występują triggery takie jak At login czy At system wake. Niestety pierwszy z nich działa jedynie w momencie logowania do systemu, co czynię raz na długi czas ze względu na usypianie mojego systemu, a sama operacja odblokowania komputera przez podanie hasła po wybudzeniu, nie jest traktowana jako logowanie. Wybudzenie systemu również odpala moje makro zaraz po aktywowaniu ekranu z prośbą o hasło, więc stanowczo za wcześnie.

Postanowiłem znaleźć sposób na to jak zmusić Keyboard Maestro do spauzowania zadania do momentu, kiedy system zostanie odblokowany. Najprostszym rozwiązaniem okazało się wykorzystanie akcji Pause until. Pozostało mi znaleźć element na który moje makro ma zaczekać. Stwierdziłem, że wyznacznikiem tego czy system jest aktywny będzie górna belka menu. Jedynym stałym i pewnym elementem, który jest zawsze widoczny, jest oczywiście jabłuszko Apple w lewym górnym rogu. Pozostało teraz weryfikować jego obecność, w tym celu zadałem akcji Pause until warunek, który sprawdza czy piksel w danym punkcie ma zdefiniowany kolor. Od tego momentu, makro po uruchomieniu czeka aż pojawi się wspomniany element i dopiero wtedy kontynuuje swoje działanie.

KM_1

Proste i skutecznie. Cały czas szukam jednak lepszego i bardziej właściwego technicznie sposobu weryfikacji odblokowania komputera, mimo że na tą chwilę podane rozwiązanie spisuje się bez zarzutu. Jeżeli macie pomysł, a być może swoje własne rozwiązanie tego problemu to czekam na Wasze komentarze i sugestie.