From: Matthew Lundin <m...@imapmail.org> Subject: Re: [Orgmode] Re: Handling org-file agenda dependenncies? To: Eraldo Helal <ad...@eraldo.at> Cc: emacs-orgmode@gnu.org Message-ID: <m2tz5doo8m....@fastmail.fm> Content-Type: text/plain; charset=us-ascii
ML> Hi Eraldo, ML> Eraldo Helal <ad...@eraldo.at> writes: >> > Mike Newman <mike <at> newmanfamily.me.uk> writes: > >>> >> When you use the standard commands to add/removes files from the >> >>> agenda, it will write a definition for the variable org-agenda-files to >>> >> the custom section of your .emacs file. >> > > That would still mean removing every org-file in the tree manually > >> when wanting to make a project "inactive". > >>> >> If you want to deal with trees of files, you might be better off >> >>> removing the variable from the custom section, defining it >> yourself >>> and updating it manually. >> > > The questions here is... How could one define it? ML> I think you could set something like the following in your .emacs file: ML> --8<---------------cut here---------------start------------->8--- ML> (load-library "find-lisp") (setq org-agenda-files (append ML> (find-lisp-find-files "~/directory1" "\.org$") (find-lisp-find-files ML> "~/directory2" "\.org$") (find-lisp-find-files "~/directory3" ML> "\.org$"))) --8<---------------cut ML> here---------------end--------------->8--- ML> This will search the directories above recursively for org files. ML> Whenever you want to remove a project from your agenda, simply delete ML> the appropriate line and evaluate the expression. I'd imagine someone ML> else can think of a way to do this more economically, though. An interesting question would be how to generalize this to update remember templates accordingly. Possibly the best approach would be to have a defining form that would define a project in a single s-expression, adding both remember templates and agenda entries, and then that form could be removed all at once. Something like (org-add-project newproj "A sample new project to show the greatness of org-add-project." (agenda-files (find-lisp-find-files "~/newproj/" "\.org$")) (remember-templates ....)) [The above wouldn't work as written, since it's syntax is a mess of what would be handled by a macro --- the "named arguments" like agenda-files and remember-templates --- and what looks like a functional argument --- the find-lisp-files --- but something like it could be lashed together if anyone was interested.] _______________________________________________ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode