Ich verwende Org-Habit und die Habit-Diagramme werden in der normalen Agenda-Ansicht gut angezeigt. Ich möchte jedoch die Aufgabenliste mit Tag-Filterung verwenden, und dort sehen die Gewohnheiten wie normale Aufgabenelemente ohne das Gewohnheitsdiagramm aus.
Wie kann ich das Gewohnheitsdiagramm anzeigen lassen, wenn ich die Agenda-Ansicht der Aufgabenliste verwende?
org-mode
org-agenda
org-habit
Legoscia
quelle
quelle
Antworten:
Dies scheint den Trick zu tun:
Zur weiteren Erläuterung scheint es, dass jede Agenda-Funktion aufgerufen wird,
org-agenda-finalize
sobald der Agenda-Puffer größtenteils erstellt wurde, und dies ist die Funktion, die die Gewohnheitsgraphen hinzufügt. Darüber hinaus wird das Diagramm nur zu jedem Element hinzugefügt, das über die Texteigenschaft verfügtorg-habit-p
(die die Details codiert, die im Diagramm angezeigt werden). Alles, was wir tun müssen, ist, die Gewohnheiten irgendwann vorher mit diesen Informationen zu versehen.Außerdem habe ich mich dafür entschieden, dieses Verhalten von einer Variablen abhängig zu machen, da dies es Ihnen ermöglichen sollte, die Variable in benutzerdefinierten Agenda-Befehlen festzulegen, wenn nur einige Agenden Gewohnheiten anzeigen sollen. Ich habe das nicht getestet, aber es gibt keinen Grund, warum es nicht funktionieren sollte.
EDIT: Meine ursprüngliche Lösung hatte Probleme mit Blockagenden. Es stellt sich heraus, dass dies
org-agenda-finalize
einmal für jeden Block und dann einmal für die gesamte Agenda aufgerufen wird. Wenn dieser letzte Aufruf erfolgt, ist die Agenda schreibgeschützt, sodass ein Fehler ausgegeben wird, wenn die Agenda Gewohnheiten enthält. Da die gesamte Arbeit zu diesem Zeitpunkt bereits erledigt ist, ist es ohnehin nicht sinnvoll, die Agenda erneut zu scannen, und ich habe gerade eine Überprüfung für die Eigenschaft 'org-series' hinzugefügt, die nach den Blockaufrufen zur gesamten Agenda hinzugefügt wird und vor dem letzten schreibgeschützten Aufruf.quelle
Sie können
org-agenda-prefix-format
mit einem Aufruforg-habit-build-graph
und verwandten Funktionen verwenden.quelle