Bagaimana saya bisa memiliki kontrol lebih besar atas pengulangan tugas di Org?

12

Saya mulai menjelajah org-modeakhir - akhir ini dan saya menyukainya. Tapi, saya ingin tahu bagaimana saya bisa memiliki kontrol lebih besar atas tugas yang berulang, seperti jika saya telah menetapkan tugas untuk diulang setiap hari, bagaimana saya bisa membuatnya mengecualikan akhir pekan?

Juga, apakah ada opsi seperti mode liburan atau sesuatu yang serupa yang ketika dihidupkan menanyakan durasi saya akan pergi dan semua tugas berulang saya (jika saya memiliki yang dijadwalkan selama waktu lepas landas) dijadwal ulang secara otomatis untuk hari yang dijadwalkan berikutnya setelah liburan berakhir.

Chakravarthy Raghunandan
sumber

Jawaban:

2

Solusi saya:

  1. Tandai item 'musim dingin', 'akhir pekan', 'malam sekolah', dll.

  2. Pastikan setiap tag ini memiliki kunci-kecepatan terkait org-tag-alist.

  3. Tulis predikat untuk setiap tag yang memberitahu Anda jika tidak saat ini: not-winter-p(kembali non-nil antara April dan November di belahan bumi utara), weekdayp, not-schoolnight-p, dll

  4. Menyatukan semuanya dalam perintah agenda Anda sendiri:

(Ah-ha! Ditemukan saya harus meletakkan teks daftar non-bernomor di sini untuk membuat kode berikut muncul diformat dengan benar)

(defun ph/agenda ()
  "Display my agenda."
  (interactive)
  (org-agenda-list)
  (cl-loop
    for (predicate . speed-key)
    in
    '((weekendp . ?\[)
      (winterp . ?\])
      (not-schoolday-p . ?\{)
      (not-schoolnight-p . ?\}))
    when (funcall predicate)
    do (org-agenda-filter-by-tag nil speed-key 'exclude)))
Phil Hudson
sumber
0

Anda bisa menggunakan tanggal buku harian. Saya memiliki acara yang terjadi setiap Jumat 1, 3, dan 5 setiap bulan.

* Music Jam
   <%%(diary-float t 5 1)>
   <%%(diary-float t 5 3)> 
   <%%(diary-float t 5 5)>

Ada fungsi buku harian lainnya juga. diary-float, diary-mengingatkan, diary-cyclic, dll. Anda dapat membaca lebih lanjut tentang ini melalui

      M-x info RET org RET m Agenda  

Cari buku harian, dan Anda akan menemukannya. (Cs diary)

Joshua
sumber
Saya pikir itu tidak mungkin di luar kotak. Anda perlu mengulangi semua file agenda Anda, di dalamnya mengulangi semua berita utama, dan jika ada informasi penjadwalan, jadwalkan ulang item tersebut. Selain itu, menjadwal ulang semuanya pada hari yang sama dapat menghasilkan hari yang ramai, jadi Anda mungkin juga ingin menghadapinya.
GergelyPolonkai