[[Vorlage(Getestet, bionic, focal, lunar)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(./taskwarrior.png, 48, left)]] [https://taskwarrior.org/ Taskwarrior] {en} ist ein in [wikipedia:C++:] geschriebenes Aufgaben-Verwaltungsprogramm für die Kommandozeile, das unter der [https://www.opensource.org/licenses/mit-license.php MIT] {en} 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 [wikipedia:To-do-Liste:To-do-Liste] sammeln, als Projekte zusammenfassen und nach bestimmten Suchkriterien abrufen. Taskwarrior eignet sich auch zum Selbstmanagement nach den [wikipedia:Getting_Things_Done: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 [wikipedia:Android_(Betriebssystem):Android]- und ein Web-Client sind in Planung. = Installation = Taskwarrior ist in den offiziellen Paketquellen enthalten. Es muss folgendes Paket installiert [1] werden: {{{#!vorlage Paketinstallation taskwarrior, universe }}} = Bedienung = Zur Benutzung öffnet man ein Terminal [2] und gibt darin Befehlszeilen ein, die ([#Die-Taskwarrior-Shell anfangs]) mit `task` beginnen. == Syntax == Taskwarrior-Befehle sind wie folgt aufgebaut: {{{#!vorlage Befehl [task] [FILTER] [BEFEHL] [ARGUMENTE] }}} Dabei * sind `[ARGUMENTE]` nur bei __bestimmten__ `BEFEHL`en erforderlich und * `[FILTER]` gibt an, auf welche Aufgaben sich `BEFEHL` bezieht. Fehlt diese Angabe, so werden __alle__ Aufgaben berücksichtigt. Ein einfaches Beispiel für `[FILTER]` ist die von Taskwarrior als `ID` angezeigte singulär vergebene __Nummer__ einer Aufgabe. Andere Beispiele werden etwa in den [#Manpages Manpages] und der [#Links Online-Dokumentation] von Taskwarrior beschrieben, sie beziehen sich auf den Aufgaben zugewiesene Attribute. * Weshalb `task` und `BEFEHLE` in eckigen Klammern notiert sind, wird unter [#Abgekuerzte-Syntax Abgekürzte Syntax] verraten. == Anzeigen der Aufgaben == Damit es etwas anzuzeigen gibt, muss die Aufgabendatenbank zwar erst einmal wie [#Bearbeiten-der-Aufgabendatenbank 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: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl 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 }}} [[Bild(./tw-screenshot3.png, 330, right)]] Der Screenshot deutet (im oberen Teil) die farbliche Gestaltung dieser Listen an. Taskwarrior erlaubt es, Aufgaben nach verschiedenen Kriterien aufzulisten. {{{#!vorlage Tabelle <-2 rowclass="titel"> 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 {{{#!vorlage 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: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl task summary }}} == Bearbeiten der Aufgabendatenbank == === Hinzufügen einer Aufgabe === Der Befehl `task add AUFGABENBESCHREIBUNG` fügt eine neue Aufgabe hinzu: {{{#!vorlage Befehl task add Miete zahlen }}} {{{ Created task 1 }}} Die hierbei ausgegeben Zahl ist die `ID`, über die in Befehlen {{{#!vorlage Befehl task ID [BEFEHL] [ARGUMENTE] }}} und [#Anzeigen-der-Aufgaben Anzeigen] auf die Aufgabe Bezug genommen wird. {{{#!vorlage 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: {{{#!vorlage Befehl task 1 done }}} {{{ Completed 1 'Miete zahlen' Marked 1 task as done }}} {{{#!vorlage Befehl task list }}} {{{ No matches. }}} === Aufgaben löschen === Der Befehl `task ID delete` löscht Aufgaben: {{{#!vorlage Befehl task 1 delete }}} {{{ Permanently delete task 1 'Miete zahlen'? (y/n) y Deleting task 1 'Miete zahlen' }}} {{{#!vorlage Befehl 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: {{{#!vorlage 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 [#nderungen-der-Konfigurationsdatei Änderung der Konfigurationsdatei] erreichen. Weitere Infos zum [https://www.deimeke.net/dirk/blog/index.php?/archives/2292-Taskwarrior-2-....html Datumsformat] {en}{de} . }}} {{{#!vorlage Befehl task 1 mod due:14.9.18 }}} {{{ Modified 1 task }}} {{{#!vorlage Befehl 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 {{{#!vorlage 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: {{{#!vorlage Befehl task 1 mod recur:monthly }}} {{{ Task 1 is now a recurring task. Modified 1 task}}} {{{#!vorlage Befehl 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: {{{#!vorlage Tabelle 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: {{{#!vorlage Befehl 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 [wikipedia:JavaScript Object Notation:JSON]-Format auf die Standardausgabe, die man natürlich in eine Datei umleiten kann. z.B.: {{{#!vorlage Befehl task export > DATEINAME.json }}} Das Einlesen von Dateien erfolgt mit dem Befehl: {{{#!vorlage Befehl task import DATEINAME.json }}} == Abgekürzte Syntax == Die Manpage von Taskwarrior bezeichnet die `BEFEHL`e in {{{#!vorlage Befehl 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 === {{{#!vorlage Befehl task [FILTER] }}} wirkt wie {{{#!vorlage Befehl task [FILTER] VORGABEBEFEHL }}} `VORGABEBEFEHL` ist dabei der Wert des Konfigurationsparameters `default.command`, etwa `next`. Er kann wie unter [#Anpassungen Anpassungen] angedeutet geändert werden. Der mit `VORGABEBEFEHL` gebildete eigentliche Befehl wird der Ausgabe in eckigen Klammern vorangestellt, mit der Voreinstellung: {{{#!vorlage Befehl }}}{{{[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 {{{#!vorlage Befehl task show }}} lässt sich die aktuelle Konfiguration anzeigen, mit dem Befehl {{{#!vorlage Befehl task config EINSTELLUNG }}} lassen sich die Einstellungen verändern. Einstellungen lassen sich auch temporär verändern. Mit dem Befehl {{{#!vorlage 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. [https://taskwarrior.org/tools/ Fertige Skripte] {en} 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 [#Links Online-Einführungen] werden mit dem Paket '''task''' __mehrere__ „[:Manpage:]s“ installiert, die insgesamt über eine übliche Manpage hinausgehen, allerdings englisch: {en} {{{#!vorlage Tabelle 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 [#nderungen-der-Konfigurationsdatei Konfiguration], dazu mehr: +++ `man task-color` Bezeichnungen und Zuweisung der Farben in den [#Anzeigen-der-Aufgaben Anzeigen] +++ `man task-sync` rechnerübergreifende Aufgabenverwaltung +++ `man task-faq` FAQ }}} = Links = * [https://taskwarrior.org/ Projektseite] {en} * [https://taskwarrior.org/docs/30second.html sehr kurze] {en} Einführung * [https://taskwarrior.org/docs/ Linksammlung] {en} zu weiteren Informationen und Möglichkeiten von Taskwarrior * [https://taskwarrior.org/download/task-2.5.0.ref.pdf Cheat Sheet] {en} als Referenz (PDF) * Einführung von Dirk Deimeke in drei Teilen ({en}/{de}): * [https://www.deimeke.net/dirk/blog/index.php?/archives/2288-Taskwarriror,-tasks-on-the-commandline-1-....html Teil 1] {en} {de} – Einführung * [https://www.deimeke.net/dirk/blog/index.php?/archives/2292-Taskwarrior-2-....html Teil 2] {en} {de} – Datumsformate * [https://www.deimeke.net/dirk/blog/index.php?/archives/2327-Taskwarrior-3-....html Teil 3] {en} {de} – Wiederkehrende Aufgaben und Prioritätssetzungen * [https://www.taskwarrior.org/download/tw-ubcde11.pdf What's next? - Task management on the commandline] {en} {dl} – Vortragsfolien Ubucon 2011 im PDF-Format ## Nicht mehr verfügbar, Forum wurde geschlossen, 18.10.2018 Beforge * [https://slackforum.de/wordpress/tutorials-howto/anzeigen-von-aufgaben-aus-taskwarrior-in-conky/ Anzeigen von Aufgaben aus Taskwarrior in Conky] {de} * [https://dts.podtrac.com/redirect.mp4/twit.cachefly.net/video/floss/floss0175/floss0175_h264b_864x480_500.mp4 Taskwarrior-Vorstellung] {en} {dl} – MP4-Video, FLOSS Weekly 175 * [wikipedia_en:Taskwarrior:Wikipedia] * [:Notizen:] {Übersicht} – Übersichtsartikel #tag: Shell, Büro, Notizen