J'utilise org-habit, et les graphiques d'habitude apparaissent bien sur la vue normale de l'agenda. Cependant, je voudrais utiliser la liste des tâches avec le filtrage des balises, et là, les habitudes ressemblent à des tâches normales, sans le graphique des habitudes.
Comment faire apparaître le graphique d'habitude lors de l'utilisation de la vue de l'agenda de la liste des tâches?
org-mode
org-agenda
org-habit
legoscia
la source
la source
Réponses:
Cela semble faire l'affaire:
Pour expliquer davantage, il semble que chaque fonction d'agenda appelle
org-agenda-finalize
une fois que le tampon d'agenda a été principalement construit, et c'est la fonction qui ajoute les graphiques d'habitude. De plus, il ajoute simplement le graphique à chaque élément qui a laorg-habit-p
propriété text (qui code les détails que le graphique affichera). Donc, tout ce que nous devons faire est de passer en revue et d'étiqueter les habitudes avec ces informations à un moment donné avant cela.De plus, j'ai choisi de faire dépendre ce comportement d'une variable car cela devrait vous permettre de définir la variable dans des commandes d'agenda personnalisées, si vous ne voulez que certains agendas pour afficher les habitudes. Je n'ai pas testé cela, mais il n'y a aucune raison que cela ne fonctionne pas.
EDIT: Ma solution d'origine avait des problèmes avec les agendas de blocs. Il s'avère qu'il
org-agenda-finalize
est appelé une fois pour chaque bloc, puis une fois pour l'agenda dans son ensemble. Lorsque cet appel final se produit, l'agenda est en lecture seule, donc une erreur est levée si l'agenda contient des habitudes. Étant donné que tout le travail a déjà été effectué à ce stade, cela n'a aucun sens de scanner à nouveau l'agenda de toute façon, et je viens d'ajouter une vérification pour la propriété 'org-series, qui est ajoutée à l'agenda entier après les appels par bloc et avant l'appel final en lecture seule.la source
Vous pouvez utiliser
org-agenda-prefix-format
avec un appel àorg-habit-build-graph
et des fonctions connexes.la source