P : Jak mogę kontrolować, gdzie orgpojawia się bufor słów kluczowych do zrobienia?
Wprowadzenie todosł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-tw 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ć,
todoby bufor słów kluczowych pojawiał się tam, gdzie chcę?
org-switch-to-buffer-other-windowcałej masie innych brzydkich orgwnę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-windowaby robić to, co chcesz - możesz stworzyć warunek, który zrobi co chcesz.