Terminal pogryzł człowieka: taskwarrior

Gwarantem sumiennego wykonywania swoich obowiązków często jest… Pamiętanie o nich. Stąd też nasze biurko zaścielają żółte karteczki, po kieszeniach plątają się skrawki zapisanych serwetek, a dyktafon w smartfonie uparcie odmawia współpracy z racji braku wolnego miejsca na nasze tyrady. I nikt zapewne nie podejrzewa jak w terminalu można przyjemnie i sprawnie zorganizować sobie plan życia. Wystarczy zainstalować do tego celu programik taskwarrior i pogrążyć się w jego opcjach.

task calendar i proszę, wszystko jasne
task calendar i proszę, wszystko jasne
Taskwarrior to ambitny projekt pozwalający zaplanować nam nasze zadania. Jednak za pojęciem „zaplanować” kryje się całe zaplecze funkcji o które nie podejrzewalibyśmy niepozorny program tekstowy. Dodawanie i usuwanie zadań to taka trywialna czynność – co powiecie na tagowanie, tworzenie projektów, grupowanie zadań, precyzyjne określanie ram czasowych, synchronizację zadań na serwerze centralnym i wiele wiele innych? Z taskwarrior nie zapomnimy o niczym – o ile nie zapomnimy dopisać czynności do listy zadań.

Składnia polecenia task (z paczki task lub taskwarrior) stanowi doskonałą lekturę dla koneserów. Początki są banalne – dodawanie zadań to nic trudnego:

task add Eat something due:due-today
task add Cut hair due:2016-09-22
task add Write something +blog scheduled:tomorrow

Jak można przypuszczać task list wyświetli nam listę zaplanowanych zadań. Znaczek + oznacza tag dla danej czynności. Słusznie zauważymy, że typowa składnia to task [filter] command [mods]. Filter może oznaczać konkretny tag, projekt, wybór zadania po dacie lub jego numer (wg task list):

task 28 command mods
task +weekend command mods
task project:Home due.before:today command mods
task 1,2,3 delete
task 1-3 info
task 1,2-5,19 modify pri:H

Mods to modyfikacje dla naszego zadania. Czas trwania, daty, dodatkowe opisy, tagi i tak dalej. Może to być jedno polecenie lub kilka. Np. jak sprecyzować terminy dla naszych poczynań? Oto jak:

Built-in attributes are:
description: Task description text
status: Status of task – pending, completed, deleted, waiting
project: Project name
priority: Priority
due: Due date
recur: Recurrence frequency
until: Expiration date of a task
limit: Desired number of rows in report, or ‘page’
wait: Date until task becomes pending
entry: Date task was created
end: Date task was completed/deleted
start: Date task was started
scheduled: Date task is scheduled to start
modified: Date task was last modified
depends: Other tasks that this task depends upon

Jak widać do dyspozycji mamy nie tylko proste określenie daty, ale i częstotliwości występowania zadania, jego początek, koniec, chwilowe „zawieszenie”, priorytet, przypisanie do konkretnego projektu i tak dalej. Stwarza to kompleksowe możliwości projektowania rozbudowanego kalendarza. Dla początkujących najpraktyczniejsze na początku będzie określanie zadań „due” – czyli które muszą być wykonane przed podanym terminem lub „scheduled” – możliwe do wykonania od podanej daty (czyli due:2016-09-25 scheduled:2016-09-22 oznacza zadanie które możemy zacząć robić dopiero od 09-22 – ale terminem granicznym jest 09-25).

Na tym jednak nie koniec. A co, gdybyśmy chcieli zsynchronizować tak stworzony kalendarz? To łatwe – należy zainstalować taskd, skonfigurować usługę i następnie na każdej maszynie gdzie mamy task skonfigurować ten centralny serwer. Klepanie poleceń w linii tekstowej jest staroświeckie? Możemy zainstalować sobie jeden z wielu graficzno – tekstowych nakładek dla task, np. vit.

Powyższe to jedynie naszkicowanie możliwości jakie oferuje taskwarrior. Więcej i dokładniej przeczytamy w solidnie prowadzonej dokumentacji online.  

13 komentarzy

  1. Wszystko ładnie, pięknie. Ale zaglądać co chwilę do manuala by upewnić się co do składni na pewno jest męczące.
    Używam osmo, który siedzi sobie w trayu i który obsługuje się kliknięciami (dla mnie KISS). Bez wysiłku. Z pewnością ma nieco mniej opcji niż taskwarrior ale na co dzień w zupełności wystarcza.

  2. Siema, zrobisz weekend z dystrybucją zorin 12? Niedawno wyszła beta i wygląda to trochę inaczej niż poprzednie wersje, wszystko jest oparte na gnome3 zamiast awn, cheers

  3. Fajne to, ale konsola w biurze to nie dla mnie… 😉
    Choć faktycznie, szukam czegoś podobnego, multi-platformowego, umożliwiającego łatwy eksport i import danych, zamiast Korganizera. Bo ten po dłuższym czasie używania jakiś toporny mi się wydaje, no i poza KDE to średnio nadaje się do pracy.

    I witam wszystkich serdecznie po wakacyjnej przerwie. Ciut dłuższej niż zwykle, ale coś mi się praca rozmnożyła po urlopie. 😉

    Te pytanie to serio, co polecacie zamiast Korganizera? Może być płatne, byleby otwarte.

  4. Zacne, dziękuję. Też przyglądam mu się od jakiegoś czasu.
    Za “pomoc” google to podziękuję, ale widziałem tam też opcję importu i eksportu plików, więc nie powinno być problemów z przenoszeniem danych.

  5. Jak w dobie zaawansowanych programów do zadań lub projektów takie coś ma szanse? Może 15 lat temu… Teraz mamy sporo dobry i darmowych rozwiązań (do pewnego progu) online, więc sprawdzą się na każdym systemie. Dobrym programem był dla mnie Wunderlist, ale porzuciłem na rzecz bardziej zaawansowanego: Asana. Programy takie muszą umieć integrować się z mailem, kalendarzem google, tworzyć grupy zadań, nadawać się dla wielu użytkowników i chodzić pod różnymi platformami.
    Takie programiki jak opisany powyżej to co najwyżej hobbistyczny projekt, nienadający się do szerszego użytku i odstający od obecnych realiów. Terminal choćby nie wiadomo jak potężny niestety w wielu obszarach bywa dużo słabszy od GUI i akurat tutaj terminal nie będzie się sprawdzał, chyba że dla bardzo prostych i jednostkowych rozwiązań.

  6. Oczywiście ten program został napisany dla osób które codziennie pracują na terminalu. Możliwe że ktoś dla siebie go napisał jak to mówisz hobbystycznie.

    ALE takie projekty, o ile ich twórcy o to zadbają, mogą stanowić świetną bazę dla rozbudowanego gui. Na bazie jednego dobrego programu terminalowego może powstać dziesięć rozmaitych rozwiązań przyjaznych dla klikacza myszą albo i nawet dla macacza paluchem 😉 również online.

  7. He, he. W moim przypadku nie tak łatwo wycofać się z jakiegoś systemu czy środowiska. Tak więc Plasma w Mincie 18 trochę mnie niepokoi, bo to niekompatybilne z KDE 4.x. Po prostu zauważyłem że jestem za mocno coś uzależniony od Korganizera i reszty pakietu Kontact. No i zdawał mi się jakiś on toporny, ale po przyjrzeniu się choćby pakietowi Thunderbird z Lightningiem … cofam zastrzeżenia co do toporności. 😀
    Wystarczy choćby wydrukować miesięczny kalendarz żeby dostrzec różnicę.
    Choć znów Thunderbird jest multi-platformowy, bezproblemowy przy przenoszeniu danych, no i ma multum wtyczek.

    Tak więc zostaję na Mincie, powoli robię też przymiarki do Plasmy w Mint 18. Nawet udało mi się rozwiązać odwieczny problem z regulacją jasności w moim laptopie.
    ( https://sites.google.com/site/easylinuxtipsproject/display#TOC-Brightness-of-the-display-is-wrong-and-not-adjustable , konkretny poradnik dla potrzebujących, w moim wypadku punkt 6.2.d).
    Ale i tak mi od czasu do czasu jeszcze zamraża Pulpit, nawet na i7 z 8GB, więc poczekam ile będzie trzeba z przesiadką. Co nie znaczy że nie patrzę też po alternatywach

  8. “zamiast Korganizera” – No to killka pytań pomocniczych:
    – multiplatformowy, czyli dokładnie na jakich platformach ma działać?
    – które – dokładnie – funkcjonalności z Korganizera są Ci potrzebne/z których korzystasz (tam jest bodaj 8 modułów)?
    – czy i które moduły – jak w Korganizerze – muszą być w jednym programie?
    – czy wchodzą w grę/myślałeś o rozwiązaniach webowych (wówczas multiplatformowość jest zupełnie obojętna)?
    – łatwy import/eksport do jakiego formatu? a może jedynie współdzielenie danych w jakiejś “chmurze”/serwerze?
    – czy program ma się łączyć z Twoim serwerem (np. poczta, kalendarz itp.), czy też używasz zewnętrznych rozwiązań, a jeśli tak to jakich?

  9. Działać toto ma na Linuksie i na Windzie. Z pakietu interesują mnie głównie klient pocztowy i terminarz.
    Nie znam rozwiązań webowych które pracowałyby wyłącznie offline, ale też nigdy dokładniej im się nie przyglądałem. Eksport i import w popularnych formatach (ics/vcs?).
    Dane przechowywane są lokalnie, chmury wykluczone. Wykluczone też rozwiązania zamknięte.
    Poczta na serwerach zewnętrznych.

    I nie ma tu pośpiechu, po kilku próbach udało mi się jakoś pogodzić Kontact na Linuksie z Thunderbird z Lightning-iem na Windowsie. Trochę toto kuleje optycznie, ale bez problemu nadaje się do pracy.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Post comment

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.