to me, the concepts of the log mode feature and the showing inactive tses feature are so close that they are worth merging into the same functionality, parameterized if needed [not needed for me].

in my own case, i basically want all [log mode and inactive tses] off or all on.  years ago, i implemented a toggle, using log mode as the toggle.  i made lots of notes, but the notes might not be comprehensible to anybody.

i also wanted certain information to show or not show regarding state changes.

the code is trivial.  it merely toggles inactive when you toggle log mode.

;; [[id:26806393-dca3-43a6-a92d-d8985d32f4bd][COMMENT issues with my inactive thing -- need to have v L still respect inactive, but pre-empt when state change]]
;;
;; if i want to see state changes i have to do v L, but inactive
;; disappears.  so i need to do l twice to fix it, but that
;; deletes state changes
;;
;; currently implemented options are state changes but no
;; inactive, state changes with redundant inactive, and only
;; inactive.
;;
;; i want inactive preempted by state change.  but don't care
;; much if i can just get inactive, which i do.
;;
;; =later this might or might not be analogous to closed being
;; tagged ts and thus correctly not tsia.

;;l or v l is for log mode: closed (doneish), clock, and state if
;;you set that.
;;
;;what about notes?
;;
;; too confusing to have two levels of log mode unless i really
;; want to always show something (like closed deadline) and
;; toggle showing all.  which i don't really need.  i prefer all
;; or none i think.
;;
;;super log mode (/logall/ log all) c-u l or v L is particularly
;;useful as it includes state changes with fewer bugs than [ (but
;;still not yet other inactive timestamps).
;;
;; maybe i can use the intermediate sort thing -- the thing sacha
;; used and that i use to sort or set scores or something -- to
;; eliminate duplicates after setting logall and also using my
;; inactive.  [2016-04-07 Thu 20:37]  org-agenda-before-sorting-filter-function ka
;;
;; try setting org-agenda-log-mode-items to allow state and find
;; out what gets duplicated.  i think it is just that it shows as
;; a bare inactive timetamp and as a state change.
;;
;; [ is different from log mode.
;;
;; [ provides nothing with my current setup which shows inactive
;; timestamps without duplicates.
;;
;;there are bugs with [
;;  [ with no log mode loses information
;;    repeater state is just nextrepeat
;;  [ resets upon navigation while l does not
;;    you can't make it persist or start up with it
;;  log mode (if you include state change) gets duplicated
;;    it finds the inactive timestamp?
;;    but only for state changes, not all?  =could check
;;  active timestamps including deadline and scheduled do not show
;;    presumably this is ok because will be elsewhere
;;    =later this needs detail
;;
;;adding state to org-agenda-log-mode-items makes l and log
;;mode at startup do the same thing as logall = c-u l or v L.
;;
;; state in org-agenda-log-mode-items duplicates inactive
;; (presumably because inactive does not exclude it).  it is sort
;; of useful.  i'd like bangification or todo kw.  if needed i
;; can use logall (c-u l or v L).
;;
;; =later i think i implemented bangification for ts agenda, with
;; slightly different semantics from bangification for search
;; agenda.  because more useful not to bangify known d s or so.
;;
;; /log mode does not show inactive timestamps/ ka.
;;   to me, the concepts are similar enough that they should be
;;   merged into the same mechanism.  i do that here.  also [ is
;;   conflated between two unrelated features.
;;
;;the default of org-agenda-log-mode-items is closed and clock
;;which is good.  that leaves out inactive, but i have a solution
;;for that.  but perhaps i can do state and filter it.
;;  [2016-04-26 Tue 11:05] sometimes it duplicates my inactive
'(with-eval-after-load 'org-agenda
  (add-to-list 'org-agenda-log-mode-items 'state))
;;
;;this is a good solution, but it is a defvar not defcustom.  it
;;might exclude the ts in the closed ts.  which is good in this
;;case because we show closed in org-agenda-log-mode-items.  and
;;that shows them in a closed face with closed leader.
;;
;; this is problematic when org-agenda-start-with-log-mode is
;; nil.  we want it nil then.  and then (as i have it) toggle it
;; on when doing log mode.
;; [2018-12-10 Mon 19:31] turning off because i have start with log mode off
;; (setq org-agenda-include-inactive-timestamps nil)
;; (setq org-agenda-include-inactive-timestamps t)
;;this way i can see what i did so far in the day and remind me
;;of good or bad things i did.
;; l toggles
;; [2018-11-24 Sat 15:53] trying without it to not clutter
;; (setq org-agenda-start-with-log-mode nil)
;; (setq org-agenda-start-with-log-mode t)
;; (defadvice org-agenda-log-mode
;;     (around toggle-off-inactive-also activate compile)
;;   (let ((org-agenda-include-inactive-timestamps t)
;;     ad-do-it))
;; fixme maybe i need this on org agenda
;; (defadvice org-agenda
(defadvice org-agenda-log-mode
    (around toggle-off-inactive-also activate compile)
  ;; make log mode toggle inactive in addition to closed.
  ;;
  ;; alternative is file bug report on toggling log
  ;;   but have to justify that inactive should be in log
  ;;   etc.
  ;;
  ;; org-agenda-include-inactive-timestamps is a defvar.
  ;; this was let but i think setq works better.  not sure that
  ;; try with org-agenda-start-with-log-mode is relevant.
  ;;
  ;;   if
  ;;     e-jinsei    12:00       Event:      MOOT supplements yet?  nose spray yet?
  ;;     shows up even when off
  ;;     but in event face not doneish
  ;;     event overrides doneish
  ;;     /not a bug/
  ;;       it is the happy feeling setting
  ;;       might be useful for ranges
  ;;       (setq org-agenda-skip-timestamp-if-done t)
  ;;       (setq org-agenda-skip-timestamp-if-done nil)
  ;;       
  ;; fixme setq-local
  ;; fixme do we need to toggle some of org-agenda-skip-*-if-done or similar?
  ;;   no, need to fix org bug that changes log mode ka
  ;; fixme shouldn't this be orthogonal to status of log mode?
  (setq org-agenda-include-inactive-timestamps
        ;; old note: my solution for inactive might get turned
        ;; off by v L.  perhaps i need to inspect this variable
        ;; more.  =later maybe this is fixed?
        
        ;; v l does just this command
        ;; v L does it with one prefix arg, meaning
        ;;   show all possible log items, not only the ones
        ;;   configured in ‘org-agenda-log-mode-items’. --
        ;; (?l (call-interactively 'org-agenda-log-mode))
        ;; (?L (org-agenda-log-mode '(4)))
        ;; so theoretically showing all would also add anything i
        ;; don't have in org-agenda-log-mode-items.  currently
        ;; that is state.
        
        ;; the sense of this is reversed becuse ad-do-it toggles
        ;; org-agenda-show-log by design.
        (not org-agenda-show-log))
  ad-do-it)


On Wednesday, April 10, 2024, Ihor Radchenko <yantar92@posteo.net> wrote:
Russell Adams <RLAdams@adamsinfoserv.com> writes:

> I pull up a file in 'emacs -Q'.
>
> M-x org-agenda 1 a   (restricted to current file, create agenda view).
> Now viewing the weekly agenda in buffer *Org Agenda*.
> Press "L" to enable logbook.
> Press "[" to enable inactive timestamps.
>
> I now see the full week with log and timestamps.
>
> Press "b" to go back one week.
>
> I now see last week's agenda. Logbook mode is still enabled. Inactive
> timestamps are missing.
>
> Pressing "[" will enable inactive timestamps again.

Ok. I can see what is happening.
Unlike agenda log-mode, where L toggles the mode on/off, the inactive
timestamps are not toggled; they can only be enabled and re-enable
manually when the agenda view is refreshed.

This is consistent with the documentation:

‘v [’ or short ‘[’ (‘org-agenda-manipulate-query-add’)
     Include inactive timestamps into the current view.  Only for
     weekly/daily agenda.

Note how there no word "toggle" in the manual. It explicitly refers to
the "current view".

I am not sure why it is done this way and I cannot see any explanations
in the git logs.

I do not see why it should not be possible to make inactive timestamp
display into a toggle.
Patches welcome. It is an easy patch.

--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>



--
The Kafka Pandemic

A blog about science, health, human rights, and misopathy: https://thekafkapandemic.blogspot.com