Org Agenda バッファをタイマーで再構築しようとしています。私はこのようにしています:
(defun renewOrgBuffer ()
(interactive)
(dolist (buffer (buffer-list))
(with-current-buffer buffer
(when (derived-mode-p 'org-agenda-mode)
(org-agenda-redo t))))
)
(run-with-idle-timer 60 1000 #'renewOrgBuffer)
私は基本的にこれを別の答えからスワイプしましたが、orgファイルが保存されたときに何かしたいと思っていました。私はタイマーでそれを更新したいとエラーに実行しています。
When I just run the function in ielm
私はエラーが表示されます: *** Eval error *** ‘recenter’ing a window that does not display current-buffer.
私は、Emacs 25.1.50.2クライアントをUbuntu 15.10上のorg verion 8.2.10とデーモンに接続して実行しています。
私の目的は、自分のトドスと予定を1つのバッファに入れ、その隣に Org Agenda バッファを配置したいということです。したがって、 Org Agenda バッファを更新する主な目的は、 now ---- -
という行が更新されるようにすることです。それは小さな思考ですが、私はそれを理解したいだけです。
どんな助けや指針もありがとうございます。
3月7日を編集
ディスパッチャ(*オプション)からスティッキーアジェンダビューを有効にすると、以前定義した renewOrgBuffer
関数をMxと対話的に呼び出すことができ、エラーを取得する代わりに、 "org-agenda-list: '現在のバッファを表示しないウィンドウを再センタリングします。"という素晴らしいミニバッファですが、毎回インタラクティブに呼び出すことは望ましくありません。
スクラッチバッファーやタイマーのような関数を実行しようとすると
(run-with-idle-timer 3 1000 #'renewOrgBuffer)
私はエラーが表示されます:
Rebuilding agenda buffer...done
Error running timer ‘renewOrgBuffer’: (error "‘recenter’ing a window that does not display current-buffer.")
「アジェンダバッファを再構築する...完了しました」とは言いますが、実際に再構築するわけではありません。
この情報が追加された場合は、何か助けてください、ありがとう。