Taskwarrior
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Taskwarrior 🇬🇧 ist ein in C++ geschriebenes Aufgaben-Verwaltungsprogramm für die Kommandozeile, das unter der MIT 🇬🇧 steht. Taskwarrior wurde ursprünglich von Paul Beckingham geschrieben, mittlerweile wird es durch ein Team um Beckingham sehr aktiv weiterentwickelt.
Mit Taskwarrior lassen sich Aufgaben als To-do-Liste sammeln, als Projekte zusammenfassen und nach bestimmten Suchkriterien abrufen. Taskwarrior eignet sich auch zum Selbstmanagement nach den Getting-Things-Done-Prinzipien.
Taskwarrior lässt sich vollständig über die Kommandozeile bedienen, ist vielfältig konfigurierbar, durch Skripte erweiterbar und plattformübergreifend. Ein Android- und ein Web-Client sind in Planung.
Installation¶
Taskwarrior ist in den offiziellen Paketquellen enthalten. Es muss folgendes Paket installiert [1] werden:
taskwarrior (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install taskwarrior
Oder mit apturl installieren, Link: apt://taskwarrior
Bedienung¶
Zur Benutzung öffnet man ein Terminal [2] und gibt darin Befehlszeilen ein, die (anfangs) mit task
beginnen.
Syntax¶
Taskwarrior-Befehle sind wie folgt aufgebaut:
[task] [FILTER] [BEFEHL] [ARGUMENTE]
Dabei
sind
[ARGUMENTE]
nur bei bestimmtenBEFEHL
en erforderlich und[FILTER]
gibt an, auf welche Aufgaben sichBEFEHL
bezieht. Fehlt diese Angabe, so werden alle Aufgaben berücksichtigt. Ein einfaches Beispiel für[FILTER]
ist die von Taskwarrior alsID
angezeigte singulär vergebene Nummer einer Aufgabe. Andere Beispiele werden etwa in den Manpages und der Online-Dokumentation von Taskwarrior beschrieben, sie beziehen sich auf den Aufgaben zugewiesene Attribute.Weshalb
task
undBEFEHLE
in eckigen Klammern notiert sind, wird unter Abgekürzte Syntax verraten.
Anzeigen der Aufgaben¶
Damit es etwas anzuzeigen gibt, muss die Aufgabendatenbank zwar erst einmal wie unten dargestellt befüllt werden. Wir stellen hier aber schon einmal die grafischen Früchte des Tippens und des Studierens der Dokumentation in Aussicht, um dazu Mut zu machen:
Der Befehl task list
zeigt die Aufgaben an:
task list
ID Project Pri Due Active Age Description 1 13.9.18 4 secs Miete zahlen 2 14.9.18 1 day Bahnkarte kaufen 2 tasks
Der Befehl task long
erzeugt eine umfassendere Ausgabe:
task long
ID Project Pri Added Due Recur Countdown Age Tags Description 1 13.9.18 13.9.18 monthly 22 hrs 1 min Miete zahlen 2 12.9.18 14.9.18 -1 hr 1 day Bahnkarte kaufen 2 tasks
Der Screenshot deutet (im oberen Teil) die farbliche Gestaltung dieser Listen an.
Taskwarrior erlaubt es, Aufgaben nach verschiedenen Kriterien aufzulisten.
Berichte | |
Befehl | Anzeige |
task all | alle Aufgaben |
task completed | erledigte Aufgaben |
task recurring | nur wiederkehrende Aufgaben |
task newest limit:3 | neueste Aufgaben |
task next | nächste anstehende Aufgaben |
Der Befehl
task calendar
stellt die anstehenden Aufgaben in einem Kalender dar (im Screenshot unten).
Der Befehl task history
zeigt die monatlichen Aggregate der hinzugefügten, erledigten und gelöschten Aufgaben an:
task history
Year Month Added Completed Deleted Net 2018 September 2 1 0 1 Average 2 1 0 1
Mit dem Befehl task summary
wird eine numerische und graphische Anzeige des Fortschritts einzelner Projekte erzeugt:
task summary
Bearbeiten der Aufgabendatenbank¶
Hinzufügen einer Aufgabe¶
Der Befehl task add AUFGABENBESCHREIBUNG
fügt eine neue Aufgabe hinzu:
task add Miete zahlen
Created task 1
Die hierbei ausgegeben Zahl ist die ID
, über die in Befehlen
task ID [BEFEHL] [ARGUMENTE]
und Anzeigen auf die Aufgabe Bezug genommen wird.
Hinweis:
Um zu verhindern, dass die Funktionalität von Taskwarrior durch Sonderzeichen (wie Fragezeichen) gestört wird, empfiehlt es sich, die Beschreibung der Aufgaben in Anführungszeichen zu setzen ("Beschreibung") oder ein doppeltes Minuszeichen (– Beschreibung) vor die Beschreibung zu stellen.
Aufgaben als erledigt markieren¶
Der Befehl task ID done
markiert Aufgaben als erledigt:
task 1 done
Completed 1 'Miete zahlen' Marked 1 task as done
task list
No matches.
Aufgaben löschen¶
Der Befehl task ID delete
löscht Aufgaben:
task 1 delete
Permanently delete task 1 'Miete zahlen'? (y/n) y Deleting task 1 'Miete zahlen'
task list
No matches.
Fälligkeitszeitpunkt hinzufügen¶
Der Fälligkeitszeitpunkt einer Aufgabe wird mit dem Befehl task ID mod due:FÄLLIGKEIT
ergänzt:
Hinweis:
Die Eingabe der FÄLLIGKEIT erfolgt standardmäßig im Format Y-M-D, doch wird hier das Format d.m.y verwendet. Wer ein anderes Eingabeformat möchte, kann das durch eine Änderung der Konfigurationsdatei erreichen. Weitere Infos zum Datumsformat 🇬🇧🇩🇪 .
task 1 mod due:14.9.18
Modified 1 task
task list
ID Project Pri Due Active Age Description 1 14.9.18 5 mins Miete zahlen
Die Anzeige von Project (Projekt) und Pri (Priorität) werden nur angezeigt, wenn hierzu schon Daten gespeichert wurden. Eine Aufgabe starten kann mit dem Befehl
task 1 start
eingeleitet werden. Dies wird dann in der Ausgabe als aktive Aufgabe dargestellt.
Wiederkehrende Aufgaben einrichten¶
Wiederkehrende Aufgaben werden mit dem Befehl task ID mod recur:INTERVALL
eingerichtet:
task 1 mod recur:monthly
Task 1 is now a recurring task. Modified 1 task
task long
ID Project Pri Added Due Recur Countdown Age Tags Description 1 13.9.18 14.9.18 monthly -9 hrs 1 min Miete zahlen
Nachbearbeitung von Aufgaben weiter¶
Ein Attribut kann auch mehreren Aufgaben auf einmal zugewiesen werden:
Befehl | Zweck |
task 1,3,5 mod +Arbeit | Aufgaben mit Tags versehen |
task 1-2 mod project:Party | Aufgaben zu Projekten hinzufügen |
task 2 mod priority:H | Aufgaben mit Prioritätseinstufungen versehen |
task 7 mod wait:1.1.2019 | in der Zukunft liegende Aufgaben bis zu einem bestimmten Zeitpunkt verbergen |
task 3 mod "neuer Name" | Aufgabe umbenennen |
task 3 mod depends:6 | Abhängigkeiten zwischen Aufgaben herstellen |
task 5 prepend "Wichtig: " | Aufgaben nachträglich ergänzen (der Beschreibung vorangestellte Ergänzung) |
task 3 append überprüfen | Aufgaben nachträglich ergänzen (der Beschreibung nachgestellte Ergänzung) |
task 4 annotate "Teilweise am 8. September erledigt." | Anmerkungen zu Aufgaben hinzufügen |
task 5 edit | einzelne Aufgaben in einem Editor bearbeiten |
Bearbeitungsbefehle in einer Zeile kombinieren¶
Bearbeitungsbefehle können in Taskwarrior auch kombiniert verwendet werden:
task add Rasen mähen project:Gartenarbeit due:tomorrow recur:biweekly +Rasen +Garten +Arbeit
Export und Import von Aufgaben¶
Taskwarrior stellt eine Export- und Importmöglichkeit zur Verfügung. Der Export erfolgt im JSON-Format auf die Standardausgabe, die man natürlich in eine Datei umleiten kann. z.B.:
task export > DATEINAME.json
Das Einlesen von Dateien erfolgt mit dem Befehl:
task import DATEINAME.json
Abgekürzte Syntax¶
Die Manpage von Taskwarrior bezeichnet die BEFEHL
e in
task [FILTER] BEFEHL [ARGUMENTE]
als „Unterbefehle“ (subcommand), wohl als Gegensatz zum Befehl task
, der die Kommandozeile im Terminal einleitet
(vgl. update
, install
usw. bei apt-get).
Ohne Unterbefehl¶
task [FILTER]
wirkt wie
task [FILTER] VORGABEBEFEHL
VORGABEBEFEHL
ist dabei der Wert des Konfigurationsparameters default.command
, etwa next
. Er kann wie unter Anpassungen angedeutet geändert werden. Der mit VORGABEBEFEHL
gebildete eigentliche Befehl wird der Ausgabe in eckigen Klammern vorangestellt, mit der Voreinstellung:
[task next]
– es folgt die Tabelle einiger nächster Aufgaben wie nach Eingabe von task next
.
Anpassungen¶
Änderungen der Konfigurationsdatei¶
Die Aufgaben werden im Verzeichnis ~/.task gespeichert, die Einstellungen befinden sich in der Datei ~/.taskrc. Mit dem Befehl
task show
lässt sich die aktuelle Konfiguration anzeigen, mit dem Befehl
task config EINSTELLUNG
lassen sich die Einstellungen verändern. Einstellungen lassen sich auch temporär verändern. Mit dem Befehl
man taskrc
erfährt man offline mehr hierzu.
Aussehen¶
Das Aussehen von Taskwarrior lässt sich durch die mitinstallierten Themes, die man in der Konfigurations-Datei ~/.taskrc aktivieren kann, verändern. In den Dateien mit der Endung .theme lassen sich auch individuelle Anpassungen recht frei gestalten. Es empfiehlt sich, die Original-Datei vorher zu sichern.
Erweiterung durch Skripte¶
Die Funktionalität von Taskwarrior kann durch Skripte erweitert werden. Fertige Skripte 🇬🇧 gibt es bspw. zur Konvertierung der Taskwarrior-Aufgaben in HTML-ol-Tags, zur Anonymisierung der Taskwarrior-Daten oder zum Hinzufügen einer Aufgabe zu Taskwarrior aus einer Thunderbird-Mail.
Manpages¶
Als unmittelbar verfügbare Alternative zu den Online-Einführungen werden mit dem Paket task mehrere „Manpages“ installiert, die insgesamt über eine übliche Manpage hinausgehen, allerdings englisch: 🇬🇧
Aufruf | Inhalt |
man task | Manpage zu task im üblichen Stil |
man task-tutorial | ausführliche Einführung mit Eingabe- und Anzeigebeispielen |
man taskrc | Anzeige und Bearbeitung der Konfiguration, dazu mehr: |
man task-color | Bezeichnungen und Zuweisung der Farben in den Anzeigen |
man task-sync | rechnerübergreifende Aufgabenverwaltung |
man task-faq | FAQ |
Links¶
Projektseite 🇬🇧
sehr kurze 🇬🇧 Einführung
Linksammlung 🇬🇧 zu weiteren Informationen und Möglichkeiten von Taskwarrior
Cheat Sheet 🇬🇧 als Referenz (PDF)
Einführung von Dirk Deimeke in drei Teilen (🇬🇧/🇩🇪):
What's next? - Task management on the commandline 🇬🇧 ⮷ – Vortragsfolien Ubucon 2011 im PDF-Format
Taskwarrior-Vorstellung 🇬🇧 ⮷ – MP4-Video, FLOSS Weekly 175
Notizen – Übersichtsartikel