Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Klipper - zastosowania praktyczne (część 2)

Z powodu rozszerzenia możliwości moich nożyczek w obszarze powiadamiania(choć niestety współcześnie, z powodu naprawdę wielu ikonek obszarem powiadamiania już to nie jest; w moim przypadku się z tym jakoś uporałem), czyli Klippera, piszę ten wpis.

Sprostowanie

Ponieważ poprzednio miałem trudności z dołączeniem grafik, to postaram się je wrzucić tym razem.

Sposób na uruchomienie narzędzia konfiguracji Klippera pokazany jest w grafice numer 1. Trzeba znaleźć ikonkę nożyczek, kliknąć w ikonkę, a nie pole obok lewym przyciskiem myszy, a następnie wybrać Konfiguracja Klippera(takie mam tłumaczenie w systemie).

Na zrzucie drugim pokazane jest okno działań(te po prawej), a także okno edycji działania(te po lewej). Okno działań jest tym jaśniejszym.

Nowe polecenia

Pora przejść do dalszego przygotowania naszego systemu.
Ja postanowiłem:
a) Dodać możliwość wykonywania nieskomplikowanych obliczeń(czysto dla zabawy - Krunner dostarcza mi znacznie lepszy kalkulator niż ten stworzony przeze mnie)
b) Dodać możliwość oczekiwania na jakieś zdarzenie (przydatne mimo obecności plazmy, bo mogę mieć dużo liczników/stoperów)
c) Sprawdzanie pisowni - niby nic wielkiego, bo obecne w prawie każdym programie, jednak może się komuś przydać(np. do sprawdzania pisowni na stronie internetowej, itd.)
d) Sortowanie - coś niezwykle przydatnego - możemy zaznaczyć dowolny tekst, kazać go posortować, a następnie wkleić - nie trzeba uruchamiać żadnego pakietu biurowego, otwierać terminala, ani nic takiego

Jak zapewne zauważyliście, to powoli kończą mi się pomysły. Klipper bardzo ułatwił mi życie, i kiedy znajdę obejście problemu z dodawaniem zdarzenia do organizatora, to opublikuję chyba już ostatni wpis.
Możemy oczywiście sami dodawać nowe opcje, jak rozpoznawanie adresów e-mail lub identyfikatorów JID, ale jest to zbyt łatwe zagadnienie do opisania.

Przejdźmy jednak do problemu wykonywania obliczeń. Jako iż nie korzystamy z Krunnera trzeba było znaleźć jakiś zamiennik. Tu z pomocą przychodzi Python. Będziemy wywoływać pythona, przekazując mu wyrażenie matematyczne za pomocą parametru, a on będzie nam zwracać wynik, który będziemy wklejać do schowka.Wyrażenie regularne do rozpoznawania czegoś, co przydałoby się wyliczyć:
^\s*[0-9]*\s*([\(\)+\-*/]\s*[0-9]\s*)*$
Polecenie: /usr/bin/python -c "print %s" Uwaga: Być może Pythona masz zainstalowanego w innej lokalizacji. W każdym Linuksie powinien być w miejscu podanym przeze mnie, ale w innych systemach może być np. w /bin
Opis:
Oblicz

Zajmiemy się teraz drugim zagadnieniem. Często grając w jakąś grę w przeglądarce(w takie grywam od czasu do czasu) przydaje się konieczność ustawienia stopera na czas zakończenia budowy czegoś. Wykorzystałem do tego celu nieco skomplikowane polecenie: /bin/bash -c "sleep $(( `echo %s | cut -d: -f1 ` * 3600 + `echo %s | cut -d: -f2 ` * 60 + ` echo %s | cut -d: -f3 ` )); xmessage zakończono odliczanie od %s & play /usr/share/sounds/pop.wav" Oczywiście za %s zostanie podstawiony zaznaczony przez nas tekst. Trzeba jedynie nauczyć Klippera rozpoznawać tekst.
Tworzymy więc działanie dla takiego wzorca:
[0-9]{1,2}(\:[0-9]{1,2}){1,2}
Można dodać do powyższego wzorca ^\s* i \*s$ odpowiednio dla początku i dla końca wyrażenia, uzyskując:
^\s*[0-9]{1,2}(\:[0-9]{1,2}){1,2}\*s$
Opis:
Ustaw stoper

Trzecim zagadnieniem jest sprawdzanie pisowni. Dodajemy polecenie do działania przeznaczonego dla tekstu(wzorzec był podawany poprzednio).
Poleceniem będzie: /usr/bin/X11/xterm -T 'Sprawdzanie pisowni' -e 'echo '"%s"' | aspell -d polish -a; read a' Ostatnie read a zapobiega zamknięciu okna xterma po wykonaniu polecenia. Jeżeli ktoś chce, to może przeczytać dokumentację xterma i przekazać odpowiedni parametr, by uzyskać to samo.

Ostatnim zagadnieniem, jak obiecałem, będzie sortowanie linijek tekstu.
Wyrażenie regularne(działanie): \n
Polecenie : echo "%s" | /bin/sort

Niestety, ale nie mogłem zmusić KOrganizera przez DBus-a to utworzenia zdarzenia w danym terminie. Można przekazywać temat zdarzenia, dłuższy opis, jednak nie termin.

Jeżeli ktoś chce, to w podobny sposób może użyć jakiegoś syntezatora mowy do odczytywania tekstu, Można wykonywać znacznie więcej rzeczy, np. pobawić się w szablony Django czy innego rodzaju szablony i lokalną bazę danych. 

Komentarze

0 nowych
Nikt nie napisał jeszcze komentarza, możesz być pierwszy!