Tim Visher <tim.vis...@gmail.com> writes: > I also believe I could do this with one of the org-capture hooks but > examining them I didn't see the obvious right one to add my function to. I > would think it would be the org-capture-prepare-finalize-hook and I may > just give that a try.
Capture hooks should be the right place to do what your want. I recommend org-capture-before-finalize-hook since it will not run if you abort the capture for any reason. Otherwise, you may attach the file, abort capture (via C-c C-k or because of some error), and your attached file will hang somewhere unreferenced. Your first idea with %()-expansion have the same problem. > ... I further assume then that I'd need to to apply the > advice here > <https://www.reddit.com/r/emacs/comments/9n3vxn/in_org_mode_how_can_i_make_a_postcapture_hook_run/> > and > check for what template I'm in with (plist-get org-capture-plist :key) or > similar. I recommend using doct [1] with :before-finalize keyword. It will take care that your function runs for the right template. [1] https://github.com/progfolio/doct#hooks > So my question is whether there's anything I can do to get org-attach-attach > to > recognize the file it's in. I'm assuming that when it's expanding it's in a > temporary buffer of some kind which is why it's failing. You are right, template expansion is done in separate "*Capture*" buffer using org-capture-fill-template. The buffer is not associated with any file. Best, Ihor