F : Wie kann ich steuern, wo der org
Aufgabenschlüsselpuffer angezeigt wird?
Wenn Sie ein todo
Schlüsselwort mit C-c C-t
( org-todo
) eingeben, wird ein neuer Puffer mit den Schlüsselwortoptionen geöffnet und nach Auswahl eines Schlüsselworts wieder geschlossen. So weit, ist es gut. Es übernimmt jedoch ein anderes Fenster, was weniger gut ist, zumal es wirklich nur ein oder zwei Zeilen mit den Schlüsselwörtern anzeigen muss.
Bei folgendem Layout wird das Drücken C-c C-t
im linken Fenster ( some-org-buffer
) *Org todo*
im rechten Fenster geöffnet :
+---------------------+---------------------+
| | |
| | |
| | |
| | |
| some-org-buffer | some-other-buffer |
| | |
| | |
| | |
| | |
+---------------------+---------------------+
Stattdessen möchte ich ein kleines Fenster als vertikale Teilung wie folgt anzeigen lassen:
+---------------------+---------------------+
| | |
| | |
| some-org-buffer | some-other-buffer |
| | |
| | |
+---------------------+ |
| | |
| *Org todo* | |
| | |
+---------------------+---------------------+
Ausgehend von dieser Antwort schrieb ich eine Funktion, um Folgendes einzufügen
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))
Dies funktioniert jedoch nicht. Seufzer. Was habe ich falsch gemacht mit dem display-buffer-alist
? Genauer gesagt, wie kann ich meinen
todo
Keyword-Puffer dort anzeigen lassen, wo ich ihn haben möchte?
org-switch-to-buffer-other-window
eine ganze Reihe anderer hässlicher org
Innereien herausgefunden. Siehe Antwort für die schmachvolle "Lösung".
win
. Gibt es einen Grund, den Sie hier nicht einfach verwenden können (selected-window)
?
org-switch-to-buffer-other-window
zu tun, was Sie wollen. Sie können eine Bedingung erstellen, die alles tut, was Sie wollen.