Re: Tips on maintaining history in Org Mode

2021-02-25 Thread Tim Cross


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.

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

I also make extensive use of the ability to add timestamp entries as
part of capture templates - for exmaple, my notes and even the file of
bookmakrs (RUIs) I have.


--
Tim Cross



Re: Tips on maintaining history in Org Mode

2021-02-25 Thread Ihor Radchenko


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



Tips on maintaining history in Org Mode

2021-02-25 Thread David Masterson
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
-- 
David Masterson



Re: org-read-date: selecting date with mouse-2 in calendar

2021-02-25 Thread Kyle Meyer
Michael Heerdegen writes:

> Hello again,
>
>> selecting a date from within `org-read-date' from the calendar works
>> with mouse-1, but not with mouse-2 (with latest Emacs master and my
>> settings loaded at least).
>>
>> The code seems to intend that it also works with mouse-2, but it fails.
>>
>> Why it doesn't work?  Oh, that's because calendar already binds
>> down-mouse-2 to pop-up a menu (see definition of `calendar-mode-map').
>> So when we would add the following line to `org-read-date' (it's obvious
>> to where and I'm too lazy to create a patch now):
>>
>> +  (org-defkey map [down-mouse-2] nil)
>
> No comments on this (hope it wasn't too confused...)?

I don't know anything about these mouse things and have to review the
manual whenever they come up.  Please provide a patch with a proper
commit message, and I'll review it this weekend if nobody else gets to
it sooner.

> Should I just commit the fix to the Emacs master branch?

No, I'd appreciate if you did not.



Re: Turning off all indentation in 9.4.4

2021-02-25 Thread Kyle Meyer
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?



Re: Please help by becoming a maintainer for an Org Babel file

2021-02-25 Thread Kyle Meyer
Andy Klock writes:

> Hi all, am I too late?
>
> ‐‐‐ Original Message ‐‐‐
> On Monday, October 26, 2020 4:07 AM, Bastien  wrote:
>
>> If you feel like proposing yourself for maintaining an Org Babel
>> language, that would be super helpful.
>
> Can I throw my hat in to help maintain ob-sql.el ?

While I of course can't speak for Bastien (and am not sure what this
thread involved behind the scenes here), it doesn't appear that anyone
volunteered for ob-sql.  And regardless any help would be greatly
appreciated.

Fwiw here are a couple of the recent-ish ob-sql-related messages that
haven't seen any attention:

https://orgmode.org/list/CADzxVkEO=x6r_yai3qjkoojipvphxpcfrc2jaw7fpufs92w...@mail.gmail.com
https://orgmode.org/list/97dfc87b-9748-a5e2-cf4d-1aa784516...@rwth-aachen.de



Re: org-read-date: selecting date with mouse-2 in calendar

2021-02-25 Thread Michael Heerdegen
Hello again,

> selecting a date from within `org-read-date' from the calendar works
> with mouse-1, but not with mouse-2 (with latest Emacs master and my
> settings loaded at least).
>
> The code seems to intend that it also works with mouse-2, but it fails.
>
> Why it doesn't work?  Oh, that's because calendar already binds
> down-mouse-2 to pop-up a menu (see definition of `calendar-mode-map').
> So when we would add the following line to `org-read-date' (it's obvious
> to where and I'm too lazy to create a patch now):
>
> +  (org-defkey map [down-mouse-2] nil)

No comments on this (hope it wasn't too confused...)?  Should I just
commit the fix to the Emacs master branch?

TIA,

Michael.



Add color space and icc profile information to images

2021-02-25 Thread Juan Manuel Macías
Hi,

When working with images for print, I often need to get quickly the
color space and icc profile information of each included image, so I
came up with this function (code at the end of this mail) that I share
here, in case it is useful to someone. The function inserts the
information I need, under each image link in a document. For example:

#+begin_src org
  [[file:~/Imágenes/Arte/Lilian_May_Miller_Blue_Hills_and_Crescent_Moon.jpg]]
  # COLOR-INFO: Colorspace: sRGB | icc:description: Adobe RGB (1998)

  [[file:~/CA/CA10/cubierta.jpg]]
  # COLOR-INFO: Colorspace: CMYK | icc:description: ISO Coated v2 300% (ECI)

  [[file:~/Escritorio/crespo.jpg]]
  # COLOR-INFO: Colorspace: Gray | icc:description: GIMP built-in D65 Grayscale 
with sRGB TRC
#+end_src

The only problem is that the process is somewhat slow, especially when
the images are large or there are many images in the document. I think
that this is due in part to the imagemagick process itself, and in part
to the little elegance of my function ... ;-)

Best regards,

Juan Manuel 

#+begin_src emacs-lisp
(defun my-org-comment-colorspace ()
  (interactive)
  (save-excursion
(goto-char (point-min))
(while (re-search-forward org-bracket-link-regexp nil t)
  (when (string-match (regexp-opt '(".png" ".jpg")) (match-string 1))
(forward-char -1)
(let* ((link (assoc :link (org-context)))
   (link-str (when link
   (buffer-substring-no-properties (cadr link) (caddr 
link)
  (string-match org-bracket-link-regexp link-str)
  (let* ((identify-result (shell-command-to-string
   (concat "identify -verbose "
   "\""
   (expand-file-name
(format "%s"
(replace-regexp-in-string
 "file:" ""
 (substring link-str

(match-beginning 1)
(match-end 
1)
   "\"")))
 (colorspace (progn
   (string-match "\\(Colorspace:.+\\)" 
identify-result)
   (substring identify-result
  (match-beginning 1)
  (match-end 1
 (icc (progn
(string-match "\\(icc:description:.+\\)" 
identify-result)
(substring identify-result
   (match-beginning 1)
   (match-end 1)
(forward-line 1)
(beginning-of-line)
(when (looking-at "\\(# COLOR-INFO:.+\\)")
  (delete-region (match-beginning 0) (match-end 0)))
(insert (format "# COLOR-INFO: %s | %s" colorspace icc
#+end_src



Re: Set archive location relative to property

2021-02-25 Thread Florian Lindner

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?



Set archive location relative to property

2021-02-25 Thread Florian Lindner

Hello,

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.

Is that possible?

Thanks,
Florian



Re: Please help by becoming a maintainer for an Org Babel file

2021-02-25 Thread Andy Klock
Hi all, am I too late?

‐‐‐ Original Message ‐‐‐
On Monday, October 26, 2020 4:07 AM, Bastien  wrote:

> If you feel like proposing yourself for maintaining an Org Babel
> language, that would be super helpful.

Can I throw my hat in to help maintain ob-sql.el ?

Thanks!

Andy Klock



Re: state of the art in org-mode tables e.g. join, etc

2021-02-25 Thread John Kitchin
That is remarkably slim code to get those results!

Cook, Malcolm  writes:

> John,
>
> Checkout what R sqldf package makes easy:
>
> ** aggregation example
>
> Examples from https://github.com/tbanel/orgaggregate
>
>
> #+NAME: original
> | Day   | Color | Level | Quantity |
> |---+---+---+--|
> | Monday| Red   |30 |   11 |
> | Monday| Blue  |25 |3 |
> | Tuesday   | Red   |51 |   12 |
> | Tuesday   | Red   |45 |   15 |
> | Tuesday   | Blue  |33 |   18 |
> | Wednesday | Red   |27 |   23 |
> | Wednesday | Blue  |12 |   16 |
> | Wednesday | Blue  |15 |   15 |
> | Thursday  | Red   |39 |   24 |
> | Thursday  | Red   |41 |   29 |
> | Thursday  | Red   |49 |   30 |
> | Friday| Blue  | 7 |5 |
> | Friday| Blue  | 6 |8 |
> | Friday| Blue  |11 |9 |
>
> #+PROPERTY: header-args:R  :session *R*
>
> #+begin_src R :results none
> library(sqldf)
> #+end_src
>
>
> #+begin_src R :var original=original :colnames yes
> sqldf('select Color, count(*) from original group by Color;')
> #+end_src
>
> #+RESULTS:
> | Color | count(*) |
> |---+--|
> | Blue  |7 |
> | Red   |7 |
>
>
>
> ** join example
>
> Example from https://github.com/tbanel/orgtbljoin
>
> #+name: nutrition
> | type | Fiber | Sugar | Protein | Carb |
> |--+---+---+-+--|
> | eggplant |   2.5 |   3.2 | 0.8 |  8.6 |
> | tomatoe  |   0.6 |   2.1 | 0.8 |  3.4 |
> | onion|   1.3 |   4.4 | 1.3 |  9.0 |
> | egg  | 0 |  18.3 |31.9 | 18.3 |
> | rice |   0.2 | 0 | 1.5 | 16.0 |
> | bread|   0.7 |   0.7 | 3.3 | 16.0 |
> | orange   |   3.1 |  11.9 | 1.3 | 17.6 |
> | banana   |   2.1 |   9.9 | 0.9 | 18.5 |
> | tofu |   0.7 |   0.5 | 6.6 |  1.4 |
> | nut  |   2.6 |   1.3 | 4.9 |  7.2 |
> | corn |   4.7 |   1.8 | 2.8 | 21.3 |
>
>
> #+name: recipe
> | type | quty |
> |--+--|
> | onion|   70 |
> | tomatoe  |  120 |
> | eggplant |  300 |
> | tofu |  100 |
>
>
> #+begin_src R :var recipe=recipe :var nutrition=nutrition :colnames yes
> sqldf('select * from recipe, nutrition where recipe.type=nutrition.type')
> #+end_src
>
> #+RESULTS:
> | type | quty | type | Fiber | Sugar | Protein | Carb |
> |--+--+--+---+---+-+--|
> | onion|   70 | onion|   1.3 |   4.4 | 1.3 |9 |
> | tomatoe  |  120 | tomatoe  |   0.6 |   2.1 | 0.8 |  3.4 |
> | eggplant |  300 | eggplant |   2.5 |   3.2 | 0.8 |  8.6 |
> | tofu |  100 | tofu |   0.7 |   0.5 | 6.6 |  1.4 |
>
>
>
> This should also be possible but I cannot get it to work now:
>
> #+begin_src R :var recipe=recipe :var nutrition=nutrition :colnames yes 
> :prologue sqldf(' :epilogue ')
> select * from recipe, nutrition where recipe.type=nutrition.type
> #+end_src
>
>
>
>
>
> From: Emacs-orgmode  On Behalf 
> Of John Kitchin
> Sent: Sunday, February 21, 2021 10:24
> To: Tim Cross 
> Cc: org-mode-email 
> Subject: Re: state of the art in org-mode tables e.g. join, etc
>
> ATTENTION: This email came from an external source. Do not open attachments 
> or click on links from unknown senders or unexpected emails.
>
> For fun, here is the sqlite equivalent of the Pandas example using the same 
> tables as before
>
>
> ** aggregation example
>
> Examples from https://github.com/tbanel/orgaggregate
>
>
> #+NAME: original
> | Day   | Color | Level | Quantity |
> |---+---+---+--|
> | Monday| Red   |30 |   11 |
> | Monday| Blue  |25 |3 |
> | Tuesday   | Red   |51 |   12 |
> | Tuesday   | Red   |45 |   15 |
> | Tuesday   | Blue  |33 |   18 |
> | Wednesday | Red   |27 |   23 |
> | Wednesday | Blue  |12 |   16 |
> | Wednesday | Blue  |15 |   15 |
> | Thursday  | Red   |39 |   24 |
> | Thursday  | Red   |41 |   29 |
> | Thursday  | Red   |49 |   30 |
> | Friday| Blue  | 7 |5 |
> | Friday| Blue  | 6 |8 |
> | Friday| Blue  |11 |9 |
>
>
> #+begin_src sqlite :db ":memory:" :var orgtable=original :colnames yes
> drop table if exists testtable;
> create table testtable(Day str, Color str, Level int, Quantity int);
> .mode csv testtable
> .import $orgtable testtable
> select Color, count(*) from testtable group by Color;
> #+end_src
>
> #+RESULTS:
> | Color | count(*) |
> |---+--|
> | Blue  |7 |
> | Red   |7 |
>
> ** join example
>
> Example from https://github.com/tbanel/orgtbljoin
>
> #+name: nutrition
> | type | Fiber | Sugar | Protein | Carb |
> |--+---+---+-+--|
> | eggplant |   2.5 |   3.2 | 0.8 |  8.6 |
> | tomatoe  |   0.6 |   2.1 | 0.8 |  3.4 |
> | onion|   1.3 |   4.4 | 1.3 |  9.0 |
> | egg  | 0 | 

Re: Turning off all indentation in 9.4.4

2021-02-25 Thread TRS-80

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

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

TRS-80 writes:

Unfortunately, unless I am doing something wrong, none of these 
options

seem to really restore the previous behavior.  I have set
~org-adapt-indentation~ to ~'headline-data~, and now pressing RET 
goes

to column 0.  However, unfortunately, TAB now no longer jumps to the
indentation level of the previous block (for example, so I can insert 
a

code block or other block structure into a plain list at the correct
level).


I think you're talking about the following behavior.

  * a
  foo

With org-adapt-indentation at nil (or the new headline-data value), 
foo
doesn't get indented.  This behavior is not new to 9.4.  If you try 
with
9.3.8 and org-adapt-indentation is set to nil, it also will not 
indent.

Step through org--get-expected-indentation to see how the different
values of org-adapt-indentation are handled.

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!

In the same timeframe, I have also noticed my Logbook entries not being
indented (when changing TODO states) which I think was also brought
about by this change (or rather, my changes to org-adapt-indentation).
I am not sure if I should make a separate thread about that, or not?


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 am also using adaptive-wrap-prefix-mode to do a soft wrap on left
side, not sure if this is involved or not.

Any help is greatly appreciated, as this is maddeningly aggravating.

Cheers,
TRS-80



Bug: org-checkbox face for alphabetical items is not set [9.4.4,(9.4.4-16-g0abd4a-elpaplus @ ~/.emacs.d/elpa/org-plus-contrib-20210201/)]

2021-02-25 Thread chemmi

Hi folks,

I ran into the following minor issue regarding the facing of org-mode
items.

I set org-list-allow-alphabetical to allow alphabetical item
enumeration. But it seems that the org-checkbox face is not set if there
are checkboxes.

Example:

#+begin_src org
- [ ] Hello
  1. [ ] World
 a. [ ] foo
#+end_src

In my setup, the [ ] at 'a. [ ] foo' does not appear as
checkbox. However, the interaction, e.g. C-c C-c for toggle, does still 
work.


This should be easy to fix, but I do not yet have access to the gogs
server.

Regards,
chemmi

Package: Org mode version 9.4.4 (9.4.4-16-g0abd4a-elpaplus @
~/.emacs.d/elpa/org-plus-contrib-20210201/)