emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] [PATCH 1/3] org-habit: Add org-habit-scheduled-past-days


From: John Lee
Subject: Re: [O] [PATCH 1/3] org-habit: Add org-habit-scheduled-past-days
Date: Sun, 03 Feb 2019 16:14:32 +0000

OK I guess in fact I'm 1. supposed to attach the patches (?) and 2. they 
contain hashes so I guess I should reattach them all together, having changed 
the first.  Here they are.  Sorry, I'm new to this email workflow.

The new thing here since Nicolas reviewed this last year (apart from applying 
changes in response to review feedback) is "greying out" habits that you just 
did, by applying face 'org-agenda-done when a habit is scheduled for the future.

On Sun, 3 Feb 2019, at 16:03, John Lee wrote:
> * lisp/org-habit.el (org-habit-scheduled-past-days): New variable
> 
> * lisp/org-agenda.el (org-agenda-get-scheduled): override
>   `org-scheduled-past-days' for habits if
>   `org-habit-scheduled-past-days` is not nil
> 
> TINYCHANGE
> ---
>  lisp/org-agenda.el |  4 +++-
>  lisp/org-habit.el  | 15 +++++++++++++++
>  2 files changed, 18 insertions(+), 1 deletion(-)
> 
> diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
> index 489ecec95..784a555a9 100644
> --- a/lisp/org-agenda.el
> +++ b/lisp/org-agenda.el
> @@ -90,6 +90,7 @@
>  (defvar org-habit-show-habits)
>  (defvar org-habit-show-habits-only-for-today)
>  (defvar org-habit-show-all-today)
> +(defvar org-habit-scheduled-past-days)
>  
>  ;; Defined somewhere in this file, but used before definition.
>  (defvar org-agenda-buffer-name "*Org Agenda*")
> @@ -6201,7 +6202,8 @@ scheduled items with an hour specification like 
> [h]h:mm."
>                      habitp
>                      (bound-and-true-p org-habit-show-all-today))
>           (when (or (and (> ddays 0) (< diff ddays))
> -                   (> diff org-scheduled-past-days)
> +                   (> diff (or (and habitp org-habit-scheduled-past-days)
> +                               org-scheduled-past-days))
>                     (> schedule current)
>                     (and (/= current schedule)
>                          (/= current today)
> diff --git a/lisp/org-habit.el b/lisp/org-habit.el
> index af4520729..88df38ce0 100644
> --- a/lisp/org-habit.el
> +++ b/lisp/org-habit.el
> @@ -89,6 +89,21 @@ It will be green even if it was done after the deadline."
>    :group 'org-habit
>    :type 'boolean)
>  
> +(defcustom org-habit-scheduled-past-days nil
> +"Value to use instead of `org-scheduled-past-days', for habits only.
> +
> +If nil, `org-scheduled-past-days' is used.
> +
> +Setting this to say 10000 is a way to make habits always show up
> +as a reminder, even if you set `org-scheduled-past-days' to a
> +small value because you regard scheduled items as a way of
> +\"turning on\" TODO items on a particular date, rather than as a
> +means of creating calendar-based reminders."
> +  :group 'org-habit
> +  :type '(choice integer (const nil))
> +  :package-version '(Org . "9.3")
> +  :safe (lambda (v) (or (integerp v) (null v))))
> +
>  (defface org-habit-clear-face
>    '((((background light)) (:background "#8270f9"))
>      (((background dark)) (:background "blue")))
> -- 
> 2.17.1
> 
> 

Attachment: 0001-org-habit-Add-org-habit-scheduled-past-days.patch
Description: Text Data

Attachment: 0002-org-habit-Always-show-time-of-day-designation-for-ha.patch
Description: Text Data

Attachment: 0003-org-habit-Use-face-org-agenda-done-for-habits-schedu.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]