emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Samuel Wales <samologist@gmail.com>
To: Ihor Radchenko <yantar92@posteo.net>
Cc: Russell Adams <RLAdams@adamsinfoserv.com>,
	Org Mode List <emacs-orgmode@gnu.org>
Subject: Re: Agenda preserve setting on date change
Date: Wed, 10 Apr 2024 14:52:37 -0700	[thread overview]
Message-ID: <CAJcAo8ubcUCAu_3d4ZmONEfr1DZtse-w+ju90uGNLaJP0aeVVg@mail.gmail.com> (raw)
In-Reply-To: <878r1le20v.fsf@localhost>

[-- Attachment #1: Type: text/plain, Size: 8982 bytes --]

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

[-- Attachment #2: Type: text/html, Size: 10530 bytes --]

  reply	other threads:[~2024-04-10 21:53 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-08 15:11 Agenda preserve setting on date change Russell Adams
2024-04-08 19:31 ` Ihor Radchenko
2024-04-10 13:25   ` Russell Adams
2024-04-10 14:16     ` Ihor Radchenko
2024-04-10 21:52       ` Samuel Wales [this message]
2024-04-10 22:21         ` Samuel Wales

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAJcAo8ubcUCAu_3d4ZmONEfr1DZtse-w+ju90uGNLaJP0aeVVg@mail.gmail.com \
    --to=samologist@gmail.com \
    --cc=RLAdams@adamsinfoserv.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=yantar92@posteo.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).