Питання : як я можу контролювати, де відображається org
буфер ключових слів todo?
Введення todo
ключового слова за допомогою C-c C-t
( org-todo
) відкриває новий буфер із параметрами ключових слів, а потім знову закриває його після вибору. Все йде нормально. Однак для цього потрібне ще одне вікно, що менш добре, тим більше, що йому дійсно потрібно лише відображати рядок-два з ключовими словами.
Таким чином, при наступному макеті натискання C-c C-t
клавіші в ліве вікно ( some-org-buffer
) відкриється *Org todo*
у правому вікні:
+---------------------+---------------------+
| | |
| | |
| | |
| | |
| some-org-buffer | some-other-buffer |
| | |
| | |
| | |
| | |
+---------------------+---------------------+
Натомість, я хотів би, щоб невелике вікно спливало як вертикальний розкол, як нижче:
+---------------------+---------------------+
| | |
| | |
| some-org-buffer | some-other-buffer |
| | |
| | |
+---------------------+ |
| | |
| *Org todo* | |
| | |
+---------------------+---------------------+
Скориставшись
цією відповіддю , я написав функцію display-buffer-alist
:
(defun org-todo-position (buffer alist)
(let ((win (car (cl-delete-if-not
(lambda (window)
(with-current-buffer (window-buffer window)
(memq major-mode
'(org-mode org-agenda-mode))))
(window-list)))))
(when win
(let ((new (split-window win -5 'below)))
(set-window-buffer new buffer)
new))))
(add-to-list 'display-buffer-alist
(list " \\*Org todo\\*" #'dan-org-todo-position))
Однак це не спрацьовує. Зітхнути. Що я зробив неправильно з display-buffer-alist
? Більш того, як змусити мій
todo
буфер ключових слів з’являтися там, де я його хочу?
org-switch-to-buffer-other-window
цілу купу інших потворних org
нутрощів. Дивіться відповідь на ганебне "рішення".
win
. Чи є причина, яку ви не можете просто використати (selected-window)
тут?
org-switch-to-buffer-other-window
того, що ви хочете - ви можете створити умову, яка робить все, що ви хочете.