2

私が意味したのは:

私たち一人一人がorg-agenda-custom-commands変数に設定された独自のコマンドを持っています。
しかし、アジェンダ バッファの現在の状態を作成するためにどのコマンドが使用されたかをどのように検出できますか (このバッファだけを見て、おそらく任意のローカル変数を調べますか?)。

.emacs保存して、現在の構成に依存せずに後で再作成したい

4

1 に答える 1

0
(defun wg-get-org-agenda-view-commands ()
  "Get commands by which the current state of Agenda buffer can
be restored using \"(eval commands)\"."
  (interactive)
  (if (get-buffer org-agenda-buffer-name)
      (with-current-buffer org-agenda-buffer-name
        (let* ((p (or (and (looking-at "\\'") (1- (point))) (point)))
               (series-redo-cmd (get-text-property p 'org-series-redo-cmd)))
          (if series-redo-cmd
              (get-text-property p 'org-series-redo-cmd)
            (get-text-property p 'org-redo-cmd))))))

(defun wg-run-agenda-cmd (f)
  "Run commands \"f\" in Agenda buffer. You can get these
commands using \"wg-get-org-agenda-view-commands\"."
  (if (get-buffer org-agenda-buffer-name)
      (save-window-excursion
        (with-current-buffer org-agenda-buffer-name
          (let* ((line (org-current-line)))
            (if f (eval f))
            (org-goto-line line))))))

両方の関数のドキュメント文字列を読むだけです。
org-mode メーリング リストのフェラスに感謝します。彼らは私にヒントをくれました。

ここで、「 workgroups」拡張機能を続行します。workgroups2 は、org-agenda バッファーを保存および復元できます。

于 2013-04-28T17:37:21.587 に答える