From: TRS-80 <lists.trs-80@isnotmyreal.name>
To: emacs-orgmode@gnu.org
Cc: Karl Voit <news2042@Karl-Voit.at>
Subject: Re: Agenda without todos only if there is no other timestamp
Date: Tue, 03 May 2022 19:06:47 -0400 [thread overview]
Message-ID: <87mtfy43nc.fsf@isnotmyreal.name> (raw)
In-Reply-To: 2f5cd7ff3210beec704fda7b38d180a5@isnotmyreal.name
TRS-80 <lists.trs-80@isnotmyreal.name> writes:
> On 2022-04-05 04:48, Karl Voit wrote:
>> Hi,
>> I've got following custom agenda for exporting:
>> | ("n" "no TODO events +180d"
>> | ((agenda "no TODO events +180d"
>> | ((org-agenda-span 180)
>> | (org-agenda-time-grid nil)
>> | (org-agenda-entry-types '(:timestamp :sexp))
>> | (org-agenda-skip-function
>> | '(or
>> | (org-agenda-skip-entry-if 'todo 'any);; skip if any
>> TODO state is found
>> | (org-agenda-skip-entry-if 'category "errors");; skip
>> if any TODO state is found
>> | (my-skip-tag "lp")
>> | )))))
>> | nil (,(concat my-org-files-path "agenda_180d_filtered_raw.html")))
>> (don't mind the stupid name - I may fix this as it is misleading
>> here)
>> This results in an HTML file that contains my appointments without
>> the tasks.
>> Unfortunately, I sometimes seem to schedule appointments within open
>> todos such as:
>> | * NEXT talk with Steve about the project X
>> | SCHEDULED: <2022-04-05 Tue>
>> |
>> | - [X] ask him for a time-slot
>> | - we settled for: <2022-04-05 Tue 14:00-15:00>
>> Of course, those appointments are lost in my agenda export as
>> specified above. This is a bummer and I want to fix this somehow.
>> Tasks should be omitted only if there is no other time-stamp than
>> deadline or scheduled.
>> org-agenda-skip-if lists:
>> | scheduled Check if there is a scheduled cookie
>> | notscheduled Check if there is no scheduled cookie
>> | deadline Check if there is a deadline
>> | notdeadline Check if there is no deadline
>> | timestamp Check if there is a timestamp (also deadline or
>> scheduled)
>> | nottimestamp Check if there is no timestamp (also deadline or
>> scheduled)
>> | regexp Check if regexp matches
>> | notregexp Check if regexp does not match.
>> | todo Check if TODO keyword matches
>> | nottodo Check if TODO keyword does not match
>> How is it possible to accomplish this? I think this would require
>> something like "Check if there is a timestamp (except deadline or
>> scheduled)" which isn't available yet.
>> Any ideas on that one?
>
> I think you will need to write a custom ~org-agenda-skip-function~.
>
I realized there is probably an even easier way (no custom ELisp
required), simply by creating a separate child heading for the meeting,
which should then show up. Assuming I am following you correctly, how
about:
#+begin_src org
* PROJECT Project X
:PROPERTIES:
:CATEGORY: P:X
:END:
** PROJECT Discuss 'topic' with Steve
*** DONE Ask Steve for a time-slot
*** Meeting with steve
<2022-04-05 Tue 14:00>--<2022-04-05 Tue 15:00>
#+end_src
N.B. the indentation levels.
Couple notes here:
1. If you set CATEGORY on the parent, and have enabled inheritance, the
'P:X' should appear on left side in your agenda, at the time of this
meeting, giving context. The 'P:' convention is just what I use to
denote a Project (as opposed to an Area).
2. I follow GTD here, where anything with more subtasks is itself also
considered another 'project'. You don't have to. In fact one of my
todo keywords is actually PROJECT.
3. I guess you could use SCHEDULED just as well, but if you carefully
read the manual, this is not the intent of SCHEDULED. An appointment
(like this) should simply be a time slot (as I showed above). You can
of course do whatever you like. :)
I have included some things here that I might do which are not strictly
necessary to solving your problem, but hopefully you can adapt this to
your needs.
Cheers,
TRS-80
next prev parent reply other threads:[~2022-05-03 23:09 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-05 8:48 Agenda without todos only if there is no other timestamp Karl Voit
2022-04-06 3:16 ` TRS-80
2022-05-03 23:06 ` TRS-80 [this message]
2022-05-04 11:52 ` Karl Voit
2022-05-04 9:20 ` Ihor Radchenko
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=87mtfy43nc.fsf@isnotmyreal.name \
--to=lists.trs-80@isnotmyreal.name \
--cc=emacs-orgmode@gnu.org \
--cc=news2042@Karl-Voit.at \
/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).