P : Jak mogę kontrolować, gdzie org
pojawia się bufor słów kluczowych do zrobienia?
Wprowadzenie todo
słowa kluczowego za pomocą C-c C-t
( org-todo
) otwiera nowy bufor z opcjami słowa kluczowego, a następnie zamyka go ponownie po wybraniu. Na razie w porządku. Jednak zajmuje to inne okno, co jest mniej dobre, zwłaszcza, że tak naprawdę wystarczy wyświetlić wiersz lub dwa ze słowami kluczowymi.
Tak więc, w następującym układzie, kliknięcie C-c C-t
w lewym oknie ( some-org-buffer
) otworzy się *Org todo*
w prawym oknie:
+---------------------+---------------------+
| | |
| | |
| | |
| | |
| some-org-buffer | some-other-buffer |
| | |
| | |
| | |
| | |
+---------------------+---------------------+
Zamiast tego chciałbym, aby małe okienko wyskoczyło jako podział pionowy, jak poniżej:
+---------------------+---------------------+
| | |
| | |
| some-org-buffer | some-other-buffer |
| | |
| | |
+---------------------+ |
| | |
| *Org todo* | |
| | |
+---------------------+---------------------+
Cribing z
tej odpowiedzi , napisałem funkcję, aby umieścić w 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))
To jednak nie działa. Westchnienie. Co zrobiłem źle z display-buffer-alist
? Co więcej, jak sprawić,
todo
by bufor słów kluczowych pojawiał się tam, gdzie chcę?
org-switch-to-buffer-other-window
całej masie innych brzydkich org
wnętrzności. Zobacz odpowiedź na haniebne „rozwiązanie”.
win
. Czy istnieje powód, dla którego nie możesz po prostu (selected-window)
tutaj skorzystać ?
org-switch-to-buffer-other-window
aby robić to, co chcesz - możesz stworzyć warunek, który zrobi co chcesz.