Re: [O] [PATCH] Agenda: Fortnight time span

2013-08-09 Thread Carsten Dominik
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

2013-04-30 Thread Michael Gauland
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