F : Wie kann ich steuern, wo der orgAufgabenschlüsselpuffer angezeigt wird?
Wenn Sie ein todoSchlü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-tim 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
todoKeyword-Puffer dort anzeigen lassen, wo ich ihn haben möchte?
org-switch-to-buffer-other-windoweine ganze Reihe anderer hässlicher orgInnereien 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-windowzu tun, was Sie wollen. Sie können eine Bedingung erstellen, die alles tut, was Sie wollen.