Univers Libre

Gérer efficacement et rapidement ses todos avec devtodo

Written on 10 September 2010, 00:00 EDT
Tags: devtodo.

Pour changer un peu de l'administration système, je vais vous présenter aujourd'hui… devtodo.

devtodo est un petit (mais puissant) utilitaire qui s'utilise en ligne de commande et qui va vous permettre de gérer votre (ou vos) todo list. Avant de vous le présenter, sachez qu'il m'a fallu pas mal de temps avant de trouver un todo list manager qui me convienne. Mon premier critère de sélection était une application en ligne de commande (éventuellement avec une interface ncurses). L'utilisation d'une interface graphique pour ce genre de tâche n'est vraiment pas adapté, je perdais trop de temps à clicouiller par-ci par-là pour saisir 3 mots que, finalement, je ne tenais plus à jour ma todo list et elle partait aux oubliettes.

À partir de là j'ai testé différents utilitaires (doneyet, task, devtodo, w2do, todo.txt, et j'en passe). Mais seuls 2 répondaient à mon second critère : savoir gérer les sous taches : doneyet et devtodo. doneyet est une interface semi-graphique utilisant ncurses, mais ne me paraissait pas assez ergonomique (sans compter un segfault à chaque caractère UTF-8 de tapé, que je n'ai pas vraiment cherché à résoudre). J'ai donc choisi devtodo.

Présentation rapide des fonctionnalités de devtodo

Utilisation basique

Voici comment utiliser devtodo de manière "simple" :

Bref, je vous laisse lire le man pour plus de détails (qui est d'ailleurs très clair, contrairement au site du projet).

Utilisation avancée

Filtrage

devtodo permet de filtrer l'affichage des todos suivant plusieurs critères. Quelques exemples pratiques :

En bonus, vous pouvez définir un filtre par défaut, qui s'appliquera lorsque vous taperez simplement la commande todo. Cela ce fait dans le fichier .todorc :

filter -done,children

Tri

De la même manière que vous pouvez filtrer la sortie, vous pouvez aussi la trier. Le principe est un peu le même que pour les filtres :

Le tri à appliquer par défaut est définit par la directive sort dans le fichier de conf.

Formatage

Le formatage de la sortie de todo ne vous convient pas ? eh bien vous pouvez la réécrire complètement. Avant tout sachez aussi que vous pouvez utiliser l'option -v pour un affichage plus complet.

La définition des formats se passent (de préférence) dans le fichier de conf. Vous retrouvez les formats par défaut qui y sont décrits, puis vous pouvez écrire les votre en dessous, en utilisant la forme :

format nomDuFormat=templateString

templateString est la chaîne qui affichera le todo. Vous pouvez donc insérer des variables sur le même principe que la fonction C printf(). Un petit exemple :

format display=%4>%i%[info]%f%2n.%[priority]%+1T

Pour avoir plus d'information sur l'écriture de la chaîne (notamment la liste des variables),… cf. le man.

Après avoir écrit votre nouveau format, 2 solutions : soit il déchire tout et vous voulez l'utiliser à la place de celui par défaut, soit il déchire aussi mais vous voulez l'utilisez que dans certains cas plus spécifiques. Dans le premier cas, rajoutez la ligne suivante dans votre conf :

use-format display=nomDuFormat

Remplacez display par verbose-display si le format doit être utilisé dans le cas de l'utilisation de l'option -v. Dans le second cas, vous pouvez bien sur spécifier le thème dans les options de la ligne de commande directement, via --use-format, en utilisant la même syntaxe que ci-dessus.

Je pense avoir fait un tour global sur cet outil vraiment sympa, cependant il reste encore quelques astuces dont je n'ai pas parlé, mais bien décrite dans le man.