Re: [O] [PATCH] Agenda: Fortnight time span
Hi Michael, I tried to apply this patch and failed - possibly because it is a bit too old. Could I ask you to make an updated version of the patch for me to evaluate and resubmit? Thank you - Carsten On 1.5.2013, at 04:54, Michael Gauland mikely...@amuri.net wrote: Agenda: Add fortnight as a time span * lisp/org-agenda.el (org-agenda-custom-commands-local-options): Add fortnight as a choice for org-agenda-span. (org-agenda-span): Add fortnight as a choice for customising org-agenda-span. (): Add 'Fortnight View' to the org-agenda-menu (org-agenda-list): If number of days is 14, start the agenda on weekday (as done for week-long agendas). (org-agenda-ndays-to-span): Return 14 for 'fortnight'. (org-agenda-span-to-ndays): Return 'fortnight' for a 14-day span (org-agenda-later): Go forward 14 days for a fortnight. (org-agenda-view-mode-dispatch): Add 't' for fortnight view. (org-agenda-fortnight-view): New function; similar to org-agenda-week-view. (org-agenda-change-time-span): Recognise 'fortnight' as a span. (org-agenda-compute-starting-span): Recognise 'fortnight' as a span. I find it convenient to use org-agenda to look two weeks ahead; others may also. --- lisp/org-agenda.el | 32 ++-- 1 files changed, 26 insertions(+), 6 deletions(-) diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index fe2c743..1d3b323 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -328,6 +328,7 @@ the daily/weekly agenda, see `org-agenda-skip-function'.) (const org-agenda-span) (choice (const :tag Day 'day) (const :tag Week 'week) + (const :tag Fortnight 'fortnight) (const :tag Month 'month) (const :tag Year 'year) (integer :tag Custom))) @@ -1135,6 +1136,7 @@ Custom commands can set this variable in the options section. :group 'org-agenda-daily/weekly :type '(choice (const :tag Day day) (const :tag Week week) + (const :tag Fortnight fortnight) (const :tag Month month) (const :tag Year year) (integer :tag Custom))) @@ -2334,7 +2336,11 @@ The following commands are available: [Week View org-agenda-week-view :active (org-agenda-check-type nil 'agenda) :style radio :selected (eq org-agenda-current-span 'week) - :keys v w (or just w)] + :keys v w] + [Fortnight View org-agenda-fortnight-view + :active (org-agenda-check-type nil 'agenda) + :style radio :selected (eq org-agenda-current-span 'fortnight) + :keys v f] [Month View org-agenda-month-view :active (org-agenda-check-type nil 'agenda) :style radio :selected (eq org-agenda-current-span 'month) @@ -4170,7 +4176,7 @@ items if they have an hour specification like [h]h:mm. (sd (or start-day today)) (ndays (org-agenda-span-to-ndays span sd)) (org-agenda-start-on-weekday - (if (eq ndays 7) + (if (or (eq ndays 7) (eq ndays 14)) org-agenda-start-on-weekday)) (thefiles (org-agenda-files nil 'ifmode)) (files thefiles) @@ -4339,6 +4345,7 @@ items if they have an hour specification like [h]h:mm. (cond ((symbolp n) n) ((= n 1) 'day) ((= n 7) 'week) + ((= n 14) 'fortnight) (t n))) (defun org-agenda-span-to-ndays (span optional start-day) @@ -4347,6 +4354,7 @@ START-DAY is an absolute time value. (cond ((numberp span) span) ((eq span 'day) 1) ((eq span 'week) 7) + ((eq span 'fortnight) 14) ((eq span 'month) (let ((date (calendar-gregorian-from-absolute start-day))) (calendar-last-day-of-month (car date) (caddr date @@ -7825,6 +7833,8 @@ With prefix ARG, go forward that many times the current span. (setq sd (+ arg sd))) ((eq span 'week) (setq sd (+ (* 7 arg) sd))) + ((eq span 'fortnight) + (setq sd (+ (* 14 arg) sd))) ((eq span 'month) (setq greg2 (list (+ (car greg) arg) (nth 1 greg) (nth 2 greg)) sd (calendar-absolute-from-gregorian greg2)) @@ -7854,7 +7864,7 @@ With prefix ARG, go backward that many times the current span. (defun org-agenda-view-mode-dispatch () Call one of the view mode commands. (interactive) - (message View: [d]ay[w]eek [m]onth [y]ear [SPC]reset [q]uit/abort + (message View: [d]ay[w]eek for[t]night [m]onth [y]ear [SPC]reset [q]uit/abort time[G]rid [[]inactive [f]ollow [l]og[L]og-all [c]lockcheck [a]rch-trees [A]rch-files clock[R]eport include[D]iary [E]ntryText) (let ((a (read-char-exclusive))) @@ -7862,6 +7872,7 @@ With prefix ARG, go backward that many times the current span. (?\
[O] [PATCH] Agenda: Fortnight time span
Agenda: Add fortnight as a time span * lisp/org-agenda.el (org-agenda-custom-commands-local-options): Add fortnight as a choice for org-agenda-span. (org-agenda-span): Add fortnight as a choice for customising org-agenda-span. (): Add 'Fortnight View' to the org-agenda-menu (org-agenda-list): If number of days is 14, start the agenda on weekday (as done for week-long agendas). (org-agenda-ndays-to-span): Return 14 for 'fortnight'. (org-agenda-span-to-ndays): Return 'fortnight' for a 14-day span (org-agenda-later): Go forward 14 days for a fortnight. (org-agenda-view-mode-dispatch): Add 't' for fortnight view. (org-agenda-fortnight-view): New function; similar to org-agenda-week-view. (org-agenda-change-time-span): Recognise 'fortnight' as a span. (org-agenda-compute-starting-span): Recognise 'fortnight' as a span. I find it convenient to use org-agenda to look two weeks ahead; others may also. --- lisp/org-agenda.el | 32 ++-- 1 files changed, 26 insertions(+), 6 deletions(-) diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index fe2c743..1d3b323 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -328,6 +328,7 @@ the daily/weekly agenda, see `org-agenda-skip-function'.) (const org-agenda-span) (choice (const :tag Day 'day) (const :tag Week 'week) +(const :tag Fortnight 'fortnight) (const :tag Month 'month) (const :tag Year 'year) (integer :tag Custom))) @@ -1135,6 +1136,7 @@ Custom commands can set this variable in the options section. :group 'org-agenda-daily/weekly :type '(choice (const :tag Day day) (const :tag Week week) +(const :tag Fortnight fortnight) (const :tag Month month) (const :tag Year year) (integer :tag Custom))) @@ -2334,7 +2336,11 @@ The following commands are available: [Week View org-agenda-week-view :active (org-agenda-check-type nil 'agenda) :style radio :selected (eq org-agenda-current-span 'week) - :keys v w (or just w)] + :keys v w] + [Fortnight View org-agenda-fortnight-view + :active (org-agenda-check-type nil 'agenda) + :style radio :selected (eq org-agenda-current-span 'fortnight) + :keys v f] [Month View org-agenda-month-view :active (org-agenda-check-type nil 'agenda) :style radio :selected (eq org-agenda-current-span 'month) @@ -4170,7 +4176,7 @@ items if they have an hour specification like [h]h:mm. (sd (or start-day today)) (ndays (org-agenda-span-to-ndays span sd)) (org-agenda-start-on-weekday - (if (eq ndays 7) + (if (or (eq ndays 7) (eq ndays 14)) org-agenda-start-on-weekday)) (thefiles (org-agenda-files nil 'ifmode)) (files thefiles) @@ -4339,6 +4345,7 @@ items if they have an hour specification like [h]h:mm. (cond ((symbolp n) n) ((= n 1) 'day) ((= n 7) 'week) + ((= n 14) 'fortnight) (t n))) (defun org-agenda-span-to-ndays (span optional start-day) @@ -4347,6 +4354,7 @@ START-DAY is an absolute time value. (cond ((numberp span) span) ((eq span 'day) 1) ((eq span 'week) 7) + ((eq span 'fortnight) 14) ((eq span 'month) (let ((date (calendar-gregorian-from-absolute start-day))) (calendar-last-day-of-month (car date) (caddr date @@ -7825,6 +7833,8 @@ With prefix ARG, go forward that many times the current span. (setq sd (+ arg sd))) ((eq span 'week) (setq sd (+ (* 7 arg) sd))) + ((eq span 'fortnight) + (setq sd (+ (* 14 arg) sd))) ((eq span 'month) (setq greg2 (list (+ (car greg) arg) (nth 1 greg) (nth 2 greg)) sd (calendar-absolute-from-gregorian greg2)) @@ -7854,7 +7864,7 @@ With prefix ARG, go backward that many times the current span. (defun org-agenda-view-mode-dispatch () Call one of the view mode commands. (interactive) - (message View: [d]ay[w]eek [m]onth [y]ear [SPC]reset [q]uit/abort + (message View: [d]ay[w]eek for[t]night [m]onth [y]ear [SPC]reset [q]uit/abort time[G]rid [[]inactive [f]ollow [l]og[L]og-all [c]lockcheck [a]rch-trees [A]rch-files clock[R]eport include[D]iary [E]ntryText) (let ((a (read-char-exclusive))) @@ -7862,6 +7872,7 @@ With prefix ARG, go backward that many times the current span. (?\ (call-interactively 'org-agenda-reset-view)) (?d (call-interactively 'org-agenda-day-view)) (?w (call-interactively 'org-agenda-week-view)) + (?t (call-interactively 'org-agenda-fortnight-view)) (?m (call-interactively 'org-agenda-month-view)) (?y (call-interactively