Re: Tips on maintaining history in Org Mode

2021-02-26 Thread Ihor Radchenko
Samuel Wales  writes:
>   [currently the archiver is so slow i can't use it]

Are your existing archives very big (few Mbs)? If so, you may try to
speed up the archiving using feature/org-fold branch [1]. If that is not
enough, I recommend splitting archives on yearly basis [2] or disabling
font-lock in archive files.

Best,
Ihor

[1] https://github.com/yantar92/org
[2] https://github.com/yantar92/emacs-config/blob/master/config.org#archiving




Re: Tips on maintaining history in Org Mode

2021-02-26 Thread Ihor Radchenko
Samuel Wales  writes:

> perhaps also changing org-archive-file-header-format to allow a format
> thingie for a timestamp would allow you to take parts of an archive
> file and move them into one per year without having to put the date in
> each archived entry.

FYI: I have implemented automatic per-year archiving, which is correctly
handled by other org commands in my personal config:
https://github.com/yantar92/emacs-config/blob/master/config.org#archiving

Best,
Ihor




Re: Tips on maintaining history in Org Mode

2021-02-26 Thread Ihor Radchenko
David Masterson  writes:

> Interesting, but then how do you get the list?  I mean is there an
> agenda to use?

Generally yes, you can use agenda. Or you can use sparse tree (more manual).
For agenda, if you customise org-log-done, you can use
org-agenda-log-mode ("v l" or "v L" in an agenda buffer). You can add
archived items as well with "v a" or/and "v A".

Just org-agenda-log-mode will show everything, not just calls. Narrowing
to calls only will depend on how you define a todo, which is a call.

If you use something like PHONE or CALL todo keywords, it might be
slightly tricky. You will need to customise org-todo-keywords, so that
your CALL->DONE changes are recorded (see the org-todo-keywords
docstring). You will also need to filter displayed items in agenda by
regexp involving the keyword you use to define the call.

An easier way could be marking your calls with a tag. Then, you can
filter your org-agenda-log by that tag to show only calls.

Hope it helps.

Best,
Ihor




Re: Tips on maintaining history in Org Mode

2021-02-26 Thread Samuel Wales
note that there is an issue when you try to name your archive files
using years like computer-2000.org_archive.  it can take seconds to
find-file big files so it is understandable to want to name files like
that.

however, if you change the name of an archive file, it will not be
found by org when you tell it to do certain things with archive files.
some code in org derives the basename to search from the basename of
the original file like computer,org.

in principle, maybe org could allow year suffixes/prefixes or it could
search all archive files in dirs that have org files.

perhaps also changing org-archive-file-header-format to allow a format
thingie for a timestamp would allow you to take parts of an archive
file and move them into one per year without having to put the date in
each archived entry.


On 2/26/21, David Masterson  wrote:
> Tim Cross  writes:
>
>> David Masterson  writes:
>>
>>> What would you use to then make a list of all meetings you had last
>>> year?
>>
>> For me, archiving is about data I'm unlikely to need again, but just in
>> case I do, it is in the archive. I rarely look at my archives. However,
>> when I do archive, I will usually archive into a 'year' file. So, to
>> find all the meetings held in 2015, I would open that archive file and
>> search for entries with the tag MEETING (I also have a tag for PHONE).
>
> Got it.  Thanks.
> --
> David Masterson
>
>


-- 
The Kafka Pandemic

Please learn what misopathy is.
https://thekafkapandemic.blogspot.com/2013/10/why-some-diseases-are-wronged.html



Re: Tips on maintaining history in Org Mode

2021-02-26 Thread David Masterson
Tim Cross  writes:

> David Masterson  writes:
>
>> What would you use to then make a list of all meetings you had last year?
>
> For me, archiving is about data I'm unlikely to need again, but just in
> case I do, it is in the archive. I rarely look at my archives. However,
> when I do archive, I will usually archive into a 'year' file. So, to
> find all the meetings held in 2015, I would open that archive file and
> search for entries with the tag MEETING (I also have a tag for PHONE).

Got it.  Thanks.
-- 
David Masterson



Re: [bug] org-yank in stars corrupts outline

2021-02-26 Thread Samuel Wales
*** kill any header (with newline) then try yanking in various places
in the stars of any indented header that has things above it.  you
should get multiple demotions that do not conform to outline.

On 2/26/21, Samuel Wales  wrote:
> it is neither raw yank behavior nor org syntax
>
> in recent maint
>
> i have org-yank-adjusted-subtrees t
>
> * org-yank is funny
> *** kill this line (with newline) then try yanking at ^ places (remove
> the ^ first)
> the fault lies in the stars
> insertion above and arbitrary demotion
> *** x
> asdfnaksdj fnkadsn fkjans df
> ^a^sdkfjnaksdfn kajsndfk ajdnsf
> askdjfkasjdn fkajfdns
> *^*^* y
> *** [[https://go^ogle.com]]
>


-- 
The Kafka Pandemic

Please learn what misopathy is.
https://thekafkapandemic.blogspot.com/2013/10/why-some-diseases-are-wronged.html



[bug] org-yank in stars corrupts outline

2021-02-26 Thread Samuel Wales
it is neither raw yank behavior nor org syntax

in recent maint

i have org-yank-adjusted-subtrees t

* org-yank is funny
*** kill this line (with newline) then try yanking at ^ places (remove
the ^ first)
the fault lies in the stars
insertion above and arbitrary demotion
*** x
asdfnaksdj fnkadsn fkjans df
^a^sdkfjnaksdfn kajsndfk ajdnsf
askdjfkasjdn fkajfdns
*^*^* y
*** [[https://go^ogle.com]]



Re: Tips on maintaining history in Org Mode

2021-02-26 Thread Tim Cross


David Masterson  writes:

> Tim Cross  writes:
>
>> David Masterson  writes:
>>
>> For me, my TODOs are setup so that they record a date stamp for when
>> they were added and whenever they change state e.g. started, done,
>> delegated etc.
>
> So, you use progress logging.

Yes.

>
>> For non-TODO items, I will often put an inactive timestamp in the
>> heading title.
>
> Do your headings become busy?
>

Some would feel they are 'busy'. I always put the timestamp at the
beginning of the heading, so there is a regular pattern (not much
different from the leading heading stars) and I've just got use to it,
so I don't really see it now.

> What would you use to then make a list of all meetings you had last year?

For me, archiving is about data I'm unlikely to need again, but just in
case I do, it is in the archive. I rarely look at my archives. However,
when I do archive, I will usually archive into a 'year' file. So, to
find all the meetings held in 2015, I would open that archive file and
search for entries with the tag MEETING (I also have a tag for PHONE).

--
Tim Cross



Re: Tips on maintaining history in Org Mode

2021-02-26 Thread David Masterson
Eric S Fraga  writes:

> My approach is simple.  For TODO items, I archive to separate file when
> done.  That file is easily searchable, e.g. using C-c /.

Ah! org-occur! That's something forgot about and looks useful.

> I keep both the original file and the archive file under revision
> control, just in case.

I do that, too.

>> The issue (I think) is, when you mark the TODO as DONE, you lose the
>> info of what the TODO was originally.
>
> What info is lost?  In fact, if you log state changes, all the
> information is there.

I see how that workss now with org-occur.

> By the way, if you have recurring items, one package that you might find
> useful is org-recur which is on ELPA.

Thanks

-- 
David Masterson



Re: Tips on maintaining history in Org Mode

2021-02-26 Thread David Masterson
Tim Cross  writes:

> David Masterson  writes:
>
>> There are many ways of maintaining history in a group of Org files:
>> 1. Archive within a file
>> 2. Archive to a separate (archive) file
>> 3. Special TODO types for history
>> 4. Special TAG types for history
>> 5. etc.
>>
>> My question is, if you have meetings/phone calls as TODOs, what is the
>> preferred way to handle when they move into history so that, *much*
>> later, you can easily produce a list of all of the meetings/phone calls
>> with dates and times of them?  The issue (I think) is, when you mark the
>> TODO as DONE, you lose the info of what the TODO was originally.
>
> A lot will depend on your requirements.
>
> For me, my TODOs are setup so that they record a date stamp for when
> they were added and whenever they change state e.g. started, done,
> delegated etc.

So, you use progress logging.

> For non-TODO items, I will often put an inactive timestamp in the
> heading title.

Do your headings become busy?

What would you use to then make a list of all meetings you had last year?

-- 
David Masterson



Re: Tips on maintaining history in Org Mode

2021-02-26 Thread David Masterson
Ihor Radchenko  writes:

> David Masterson  writes:
>> My question is, if you have meetings/phone calls as TODOs, what is the
>> preferred way to handle when they move into history so that, *much*
>> later, you can easily produce a list of all of the meetings/phone calls
>> with dates and times of them?  The issue (I think) is, when you mark the
>> TODO as DONE, you lose the info of what the TODO was originally.
>
> See Org manual :: 5.3 Progress Logging

Interesting, but then how do you get the list?  I mean is there an
agenda to use?
-- 
David Masterson



Re: Tips on maintaining history in Org Mode

2021-02-26 Thread Samuel Wales
org does indeed have a lot of related features, maybe too many even.
here is some of what i do.

- if i doneify, it means i will likely not need to search for it.
archived to a file.
  [currently the archiver is so slow i can't use it]
  CLOSED: [2012-11-08 Thu 19:40]
- state logging for repeaters in logbook
- your question: notes to keep around like this
  * LOG [2021-02-26 Fri 14:18] talked to bill gates; he uses linux now
  these get sorted at bottom by timestamp using user-defined
  this is the main thing
- bare inactive free form as needed

-- 
The Kafka Pandemic

Please learn what misopathy is.
https://thekafkapandemic.blogspot.com/2013/10/why-some-diseases-are-wronged.html



[PATCH] ~org-font-lock-add-priority-faces~: ensure priority cookies are in a headline

2021-02-26 Thread Sébastien Miquel

Priority cookies are always in a headline.

The attached patch speeds up fontification of a 1k lines buffer by 0.1
second.

Note that the variable org-priority-regexp can't be modified since
it is used in the agenda and in org-get-priority.

Regards,

--
Sébastien Miquel
>From a348a3834b79608a20bfd4e28815ae3995c7eb5a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Miquel?= 
Date: Fri, 26 Feb 2021 18:02:32 +0100
Subject: [PATCH] org.el (org-font-lock-add-priority-faces): Speed up regexp

* org.el (org-font-lock-add-priority-faces): Speed up regexp.

Only fontify priority cookies in headlines.

TINYCHANGE
---
 lisp/org.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/org.el b/lisp/org.el
index 00596564f..8c976213d 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -5855,7 +5855,7 @@ If TAG is a number, get the corresponding match group."
 
 (defun org-font-lock-add-priority-faces (limit)
   "Add the special priority faces."
-  (while (re-search-forward org-priority-regexp limit t)
+  (while (re-search-forward (concat "^\\*+" org-priority-regexp) limit t)
 (let ((beg (match-beginning 1))
 	  (end (1+ (match-end 2
   (add-face-text-property
-- 
2.30.1



Re: Set archive location relative to property

2021-02-26 Thread TRS-80

On 2021-02-25 15:49, Florian Lindner wrote:

Am 25.02.21 um 21:22 schrieb Florian Lindner:

is this possible with org-mode? Given a tree:

* Name
:PROPERTIES:
:ARCHIVE:  ???
:END:
** Archive    :ARCHIVE:
** Some node

Upon archiving "Some node" (or any direct or indirect sub-node of
Projectname) I want to end it up under "** Archive". The archive
location should always be relative to the node where the property
ARCHIVE is set.

The documentation org-archive-location does not suggest that is
possible.


An alternative idea would be a setting for the ARCHIVE property that
searches the tree upward until it finds a node with an :ARCHIVE: tag
and use that as archive location. Maybe indicated by a setting of
"::%a".

What do you think?


I could be wrong, but my feeling (in either case) is something like
that would probably require writing a custom archive function.
Luckily, Orgmode allows you to do that.

Cheers,
TRS-80



Re: Tips on maintaining history in Org Mode

2021-02-26 Thread TRS-80

On 2021-02-26 01:22, David Masterson wrote:

There are many ways of maintaining history in a group of Org files:
1. Archive within a file
2. Archive to a separate (archive) file
3. Special TODO types for history
4. Special TAG types for history
5. etc.

My question is, if you have meetings/phone calls as TODOs, what is the
preferred way to handle when they move into history so that, *much*
later, you can easily produce a list of all of the meetings/phone calls
with dates and times of them?  The issue (I think) is, when you mark 
the

TODO as DONE, you lose the info of what the TODO was originally.

Suggestions


I agree with what others already said about logging state changes with
timestamps.  I do the same and find this an extremely handy place to
put "metadata about the task, or reason that it changed" and keep it
separate/hidden from the main body of the task (which in my mind
should only contain info about the subject of the headline / task
itself).

However when you say "history" I suspect you mean "archive" and this
is something I have been thinking about a long time as well.  Because
I think the current way that Orgmode handles this is a bit naive /
simplistic.  Well, at least there is the option to create your own
archival function, which I suspect I will do at some point.  In fact I
have been thinking about the best way to do that for some time
already.

Cheers,
TRS-80



Re: Turning off all indentation in 9.4.4

2021-02-26 Thread TRS-80

On 2021-02-26 01:20, Kyle Meyer wrote:

TRS-80 writes:


On 2021-02-24 15:58, TRS-80 wrote:

On 2021-02-16 23:30, Kyle Meyer wrote:

[...]
So, if I'm reading your preferences correctly, it sounds like you 
want

just the first suggestion in the above snippet, leaving
org-adapt-indentation at its default value:

  (add-hook 'org-mode-hook (lambda () (electric-indent-local-mode 
-1)))


OK, I just did eval-expression (M-:) with (electric-indent-local-mode
-1) in an Orgmode buffer.  After very brief testing, it does indeed
seem to return the desired behavior.  So thanks a lot for that tip!

[...]

OK, so after that yesterday, I went ahead and added
(electric-indent-local-mode -1) to my org-mode hook.  Then today upon
re-starting Emacs, I am back to not working.

By not working I mean:  Pressing enter goes to column 0 as it should,
however then pressing  does nothing.  Where previously it would
jump to same level as indented above.

My settings are:

- electric-indent-local-mode nil (local in each Orgmode buffer, set 
via

hook)

- org-adapt-indentation 'headline-data


I'm just repeating my suggestion from above, but perhaps you want to
leave org-adapt-indentation at its default value of t?


Apologies, I had skipped right over that bit!

Doing as you say appears (after very brief test just now) to have given
me back all the expected behavior:

- RET goes to column zero

- TAB goes to indentation level

- Logbook entries are indented as they should be

However in the course of doing this, it reminded me of what I was trying
to do in the first place, which I thought I could accomplish with some
of the new functionality (headline-data in particular).

In my mind at least, the headline data belongs "with" the headline.  So
all drawers like LOGBOOK and PROPERTIES (and their respective entries,
of course) should all be indented to same level as headline.

Now, I used to think the same way about the body text, but I changed my
mind a year or two (maybe more) ago, as I realized that was just wasting
too mych space.

So, my reading of this new(?) headline-data setting, was that it seemed
to be exactly what I had been looking for!  But perhaps I misunderstood?

Cheers,
TRS-80



Re: Tips on maintaining history in Org Mode

2021-02-26 Thread Eric S Fraga
My approach is simple.  For TODO items, I archive to separate file when
done.  That file is easily searchable, e.g. using C-c /.

I keep both the original file and the archive file under revision
control, just in case.

> The issue (I think) is, when you mark the TODO as DONE, you lose the
> info of what the TODO was originally.

What info is lost?  In fact, if you log state changes, all the
information is there.

By the way, if you have recurring items, one package that you might find
useful is org-recur which is on ELPA.

-- 
: Eric S Fraga via Emacs 28.0.50, Org release_9.4.4-231-gf46925