0

我正在尝试创建一个函数,将已过时的任务更改为未过时、删除截止日期并重新归档它——without曾经看到用于记笔记的弹出窗口。

除了破解源代码之外,我已经尝试了所有我能想到的方法,以*Org Note*在使用以下功能更改状态时消除窗口。我已经尝试了以下所有方法:kill-buffer; fmakunbound; 删除命令后挂钩;使用 org-add-log ... setq nil 每个函数;删除窗口;org-kill-note-or-show-branchs; 坐等....之前的一些想法。

任何人都可以想出一种方法来防止弹出窗口发生吗?

(defun someday ()
    (interactive)
        (org-todo "Someday")
        (org-priority ?D)
        (org-deadline 'remove)
        (setq org-archive-save-context-info nil)
        (setq org-archive-location "/Users/HOME/.0.data/*TODO*::* UNDATED")
        (org-archive-subtree) )
4

2 回答 2

3

也许我误解了这个问题,但如果不是,那么我认为解决方案是将变量 org-log-done 的值设置为 nil。您将不再获得Org Note弹出缓冲区。org-todo() 的日志记录行为,您将其作为例程中的第一个函数调用,由 org-log-done 控制。

您可以保留现有行为,但通过在交互式调用 org-todo() 之前提供 0 作为数字前缀来临时跳过日志记录。有关所有这些的更多信息,请参阅 Org 手册的 5.3.1 和 org-todo() 的文档字符串。

于 2013-07-08T00:13:05.967 回答
1

尝试将所有内容包装在您的函数中(在交互式调用之后)

(flet ((org-add-log-setup (a b c d e) nil))
    Your code
    ....
)

它在本地覆盖添加日志功能,什么也不做。(我在手机上写这个,所以如果它不起作用请告诉我=)。

于 2013-07-06T16:51:23.670 回答