From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id wOLNKlK0GF/hGQAA0tVLHw (envelope-from ) for ; Wed, 22 Jul 2020 21:49:06 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id CHS3JlK0GF/4AQAAB5/wlQ (envelope-from ) for ; Wed, 22 Jul 2020 21:49:06 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 51522940223 for ; Wed, 22 Jul 2020 21:49:06 +0000 (UTC) Received: from localhost ([::1]:46018 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jyMbp-0000eA-Ah for larch@yhetil.org; Wed, 22 Jul 2020 17:49:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56810) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jyMbK-0000dc-V5 for emacs-orgmode@gnu.org; Wed, 22 Jul 2020 17:48:35 -0400 Received: from static.214.254.202.116.clients.your-server.de ([116.202.254.214]:39024 helo=ciao.gmane.io) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jyMbJ-00089k-7V for emacs-orgmode@gnu.org; Wed, 22 Jul 2020 17:48:34 -0400 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1jyMbG-0007k4-93 for emacs-orgmode@gnu.org; Wed, 22 Jul 2020 23:48:30 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: emacs-orgmode@gnu.org From: Tim Landscheidt Subject: Capture with (moving) attachment? Date: Wed, 22 Jul 2020 21:48:24 +0000 Organization: http://www.tim-landscheidt.de/ Message-ID: <874kpz8f54.fsf@passepartout.tim-landscheidt.de> Mime-Version: 1.0 Content-Type: text/plain User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) Cancel-Lock: sha1:A/0xgJoqwR+8bW3/BFL0krP/was= Received-SPF: pass client-ip=116.202.254.214; envelope-from=geo-emacs-orgmode@m.gmane-mx.org; helo=ciao.gmane.io X-detected-operating-system: by eggs.gnu.org: First seen = 2020/07/22 17:48:30 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -8 X-Spam_score: -0.9 X-Spam_bar: / X-Spam_report: (-0.9 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Spam-Score: 0.49 X-TUID: r5z4xakDjjp/ Hi, I have a capture template to file items to a list: | ("i" "inventory" entry | (file "~/Desktop/Agenda/Inventar.org") | "* %^{Name}" :immediate-finish t) Currently, when I want to file an item with an associated image, I open the directory of the images with dired, visit the image file, use the capture to add an item, kill the im- age buffer, use M-0 w in dired to copy the file's name, switch to the org file, use C-c C-a m to attach the image by moving the file, and then switch back to the dired buffer. Lather, rinse, repeat, until the directory with the images is empty. What I want to do instead is open the image file (via dir- ed), have the capture do the attaching by itself (if it is called in an image-mode buffer) and then kill the image buffer. (Emacs does not care if the file associated with the buffer is deleted in the mean time.) First idea was to use %(EXP) to set org-capture-after-finalize-hook to attach the file, but that hook is called in the original (image) buffer. org-capture-before-finalize-hook on the other hand is called in a CAPTURE-Inventar.org buffer (with no associated file), same with org-capture-prepare-finalize-hook. (I also would like to perform the attaching only *after* the item has suc- cessfully been filed to avoid misfiling/deleting image files.) There are other ways to achieve this in this particular case (capture, visit the org file, go to (point-max), (org-attach-attach file nil 'mv), maybe even replace capture with an (insert (format "* %s\n" (read-string)))), but are there general solutions for this issue that will work, well, more generally? TIA, Tim