emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Sebastian Rose <sebastian_rose@gmx.de>
To: Samuel Wales <samologist@gmail.com>
Cc: emacs-orgmode@gnu.org, Carsten Dominik <carsten.dominik@gmail.com>
Subject: Interactively add refile targets - was: refile ideas
Date: Wed, 05 Aug 2009 15:00:16 +0200	[thread overview]
Message-ID: <87tz0ms9en.fsf_-_@kassiopeya.MSHEIMNETZ> (raw)
In-Reply-To: <20524da70908031531s417bb607tcf9a4d52857bc070@mail.gmail.com> (Samuel Wales's message of "Mon, 3 Aug 2009 15:31:55 -0700")

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

Samuel Wales <samologist@gmail.com> writes:
> Hi Carsten,
> On 2009-08-02, Carsten Dominik <carsten.dominik@gmail.com> wrote:
>> If you mark some headlines (for example you remember targets)
>> with a tag like "r", you could make yourself a restricted
>> refile command like this:
>> (defun my-org-restricted-refile ()
>>    (interactive)
>>    (let ((org-refile-targets '((org-agenda-files :tag . "r"))))
>>      (call-interactively 'org-refile)))
>> Not what you proposed, but maybe useful.

Sorry, for not following the original thread closely. But the above
function does something, I missed when refiling, too. A way to add
refile targets on the fly.

The refile mechanism depends on agenda files and files below
`org-directory' or a somewhat static setup, which is insufficient for
most of my use cases. I often take notes for just any of my project
using a limited set templates (limited, because I don't want to choose
out of many templates for better overview and less thinking while
storing via remember).

But when it comes to refiling, I need to spread all those notes to
several directories, scattered all over the place. I therefor have
`org-refile-targets' set to:

((org-agenda-files :maxlevel . 3)
 (sr-org-refile-targets :maxlevel . 2))

In addition, I use the (far from perfect) functions below. They make it
possible, to add any directory to my refile targets on-the-fly, which is
what I prefer. `sr-add-to-org-refile-targets' adds all *.org files in a
directory to my targets, with a prefix arg (`C-u ....') recursively.

Since a big number of refile targets slows down refiling a lot (the only
area I ever felt a slow down in Org-mode so far), a function to remove
refile targets again (recursively, too) is still missing. Also, a
function to add or remove single files is missing.

[-- Attachment #2: Type: application/emacs-lisp, Size: 2078 bytes --]

[-- Attachment #3: Type: text/plain, Size: 719 bytes --]

A good better alternative would be, to allow for refiling to
arbitrary Org-files.

1. `M-x org-refile-to'
2. Minibuffer prompt:   Find file: ~/
3. Navigate to an *.org file (restrict TAB completion to *.org)
4. RET
5. Org-mode scanns the file and offers the targets as usual.
6. Add the file to the list of refile targets.

Which would mean to add just one simple function to Org-mode.

I'd prefer this simple interface over the directory aproach. In emacs,
the directory aproach is not needed, since we have the history (UP) for
quickly find a second file in the same directory.

Please choose the interface you like most, say `yes, we want it', and
I'll sit down and hack together a proposal.


[-- Attachment #4: Type: text/plain, Size: 204 bytes --]

Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.

      parent reply	other threads:[~2009-08-05 12:56 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-08  4:59 refile ideas Samuel Wales
2009-08-03  4:28 ` Carsten Dominik
2009-08-03 22:31   ` Samuel Wales
2009-08-04 12:44     ` Eric S Fraga
2009-08-05  6:41       ` Carsten Dominik
2009-08-05 13:00     ` Sebastian Rose [this message]

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:

  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=87tz0ms9en.fsf_-_@kassiopeya.MSHEIMNETZ \
    --to=sebastian_rose@gmx.de \
    --cc=carsten.dominik@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=samologist@gmail.com \


* 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


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).