Bagaimana kadang-kadang tetapi tidak selalu menambahkan catatan ke perubahan status Org TODO?


8

Saya memilikinya dalam file proyek mode Org:

#+TODO: TODO(t!) WAITING(w!) DONE(d!) CANCELED(c@)

Ketika saya memindahkan sesuatu dari TODO ke WAITING, itu menambahkan stempel waktu tanpa meminta catatan. Itu baik-baik saja 8 atau 9 kali dari 10 ... tetapi kadang-kadang saya ingin menambahkan catatan juga.

Jika saya menggunakan @ itu akan selalu meminta saya untuk catatan, dan saya harus C-c C-ckeluar dari itu. Saya ingin menghindari itu jika saya bisa.

Apakah ada cara (awalan atau perintah alternatif) yang dapat saya gunakan untuk meminta Org izinkan saya menambahkan catatan opsional ketika saya mengubah status TODO?

C-c C-z( org-add-note) menambahkan catatan, tetapi melakukannya ke item secara keseluruhan, bukan untuk perubahan alur kerja TUNGGU, seperti:

* WAITING Find out how to sometimes add a note when I change to WAITING
  - Note taken on [2014-09-23 Tue 11:36] \\
    Asked on SE
  - State "WAITING"    from "WAITING"    [2014-09-23 Tue 11:30]
  - State "WAITING"    from "TODO"       [2014-09-21 Sun 11:25]

Jawaban:


8

Pertama-tama, perhatikan bahwa memberikan argumen 0 untuk org-todomenghambat catatan. Jadi, jika Anda ingin membalikkan keadaan default segalanya, itu mungkin bekerja untuk Anda.

Tapi sayangnya akan lebih bersih untuk memaksa catatan, yang tidak memiliki bendera yang sama.

Inilah sesuatu yang dapat Anda lakukan untuk mensimulasikan itu.

(defun org-todo-force-notes ()
  (interactive)
  (let ((org-todo-log-states
         (mapcar (lambda (state)
                   (list state 'note 'time))
                 (apply 'append org-todo-sets))))
    (call-interactively 'org-todo)))

(define-key org-mode-map (kbd "C-c C-S-t") 'org-todo-force-notes)

Penjelasan: Di sini saya sementara mendefinisikan ulang semantik pencatatan yang terkait dengan semua kata kunci todo (mereka diatur dalam set di org-todo-sets, representasi datar mungkin tersedia di variabel lain) untuk memaksa pencatatan, dan meneruskannya sebagai dinamis konteks ke org-todokode aktual . Jadi, setiap kali menekan C-c C-T(huruf besar T), Anda memaksa catatan, terlepas dari kondisi apa yang akan Anda alami.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.