Rendez-vous sur Arrakis

Gestion de tâches (todo) avec dmenu

Voici un script pour gérer les tâches à effectuer. Lorsqu'on tape une entrée qui n'est pas présente, elle est ajoutée. Sinon, lorsqu'on sélectionne une entrée déja présente, cela la supprime du todo.

Appuyez sur ECHAP pour quitter.

Exemple en image :

Le script :

#!/bin/sh
# Script pour gérer les différentes tâches à faire
# avec simplement dmenu.
# dmenu est un tout petit utilitaire, présent dans le paquet dwm-tools. 
. ~/.dmenurc
##Le fichier utilisé pour enregistrer nos pense-bêtes
FILE=~/Documents/notes/todo.md
##Cette varialbe définit la hauteur de dmenu : 
#HEIGHT=8
HEIGHT=$(wc -l $FILE |cut -d' ' -f1)
PROMPT="Ajouter/Supprimer une tâche"
#Et c'est parti!
ACTION="cat $FILE | dmenu -nb '$NB' -nf '$NF' -sb '$SB' -sf '$SF' -l '$HEIGHT' -p '$PROMPT:' "
CMD=$(eval $ACTION)
while [ -n "$CMD" ]; do
    grep -q "^$CMD" $FILE
    if [ $? = 0 ]; then
        grep -v "^$CMD" $FILE > /tmp/todo
        mv /tmp/todo $FILE
        HEIGHT=$(($HEIGHT-1))
        ACTION="cat $FILE | dmenu -nb '$NB' -nf '$NF' -sb '$SB' -sf '$SF' -l '$HEIGHT' -p '$PROMPT:' "
    else
        echo "$CMD" >> $FILE
        HEIGHT=$(($HEIGHT+1))
        ACTION="cat $FILE | dmenu -nb '$NB' -nf '$NF' -sb '$SB' -sf '$SF' -l '$HEIGHT' -p '$PROMPT:' "
    fi

    CMD=$(eval $ACTION)
done
exit 0