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 --]
next prev parent 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).