blog · git · desktop · images · contact & privacy · gopher


Kleines Addon für gitodo: highcal

Meine TODO-Verwaltung gitodo – die sich im Übrigen in meinem Alltag sehr bewährt hat – entstand ursprünglich als möglichst minimalistische und möglichst portable Lösung, damit es sowohl unter GNU/Linux als auch innerhalb von msysgit laufen kann. Diese Beschränkung gibt es jetzt nicht mehr, sodass ich ein paar mehr Freiheiten habe. Trotzdem möchte ich zumindest versuchen, eine Kompatibilität mit msysgit beizubehalten – man weiß ja nie, was noch kommt. Den gitodo-Kern möchte ich also nach Möglichkeit nicht mehr großartig anfassen.

TODO-Items können bekanntlich eine Deadline besitzen. Bisher war deren Visualisierung recht unübersichtlich bis nicht existent. Das habe ich jetzt in Form von „highcal“ nachgeholt:

Screenshot

highcal ist ein kleines Python-Skript, das einen Kalender ähnlich zu cal(1) anzeigt. highcal kennt keine Optionen und zeigt immer den aktuellen sowie die beiden folgenden Monate an, Wochen starten immer am Montag. Dafür liest es von STDIN eine Reihe von Tagen ein, die dann im Kalender hervorgehoben werden:

$ highcal <<EOF
> 2011-10-30
> 2011-11-19
> 2011-12-24
> EOF

highcal selbst hat also überhaupt nichts mit gitodo zu tun und ist allgemein einsetzbar. Da es so klein ist, wollte ich dafür aber kein eigenes Projekt starten. Auf der anderen Seite gibt es in gitodo die neue Option „--raw“, die Pretty-Printing unterbindet:

$ gitodo --raw
0 2011-12-24 00:00:00 1 0 1 4288 weihnachtsmusik
0 2038-01-01 00:00:00 1 0 3 2511 AoI wieder ghs aufnehmen
0 2038-01-01 00:00:00 1 0 3 4733 opengl stencil buffer
0 2038-01-01 00:00:00 1 0 3 4748 pdfpres
0 2038-01-01 00:00:00 1 0 3 6439 UTLK
0 2038-01-01 00:00:00 1 0 3 7039 amazon-zettel
10 2038-01-01 00:00:00 1 0 3 1249 radeon powersaving
10 2038-01-01 00:00:00 1 0 3 9 laptop: ColorTiling wieder aus?

Die Verknüpfung der beiden Programme kann dann beispielsweise über cut(1) passieren:

gitodo --raw | cut -d' ' -f2 | highcal