P : como posso controlar onde o org
buffer de palavras-chave todo aparece?
A inserção de uma todo
palavra - chave com C-c C-t
( org-todo
) abre um novo buffer com as opções de palavra-chave e o fecha novamente depois que eu seleciono um. Por enquanto, tudo bem. No entanto, ele assume outra janela, o que é menos bom, especialmente porque ele realmente precisa exibir apenas uma ou duas linhas com as palavras-chave.
Portanto, com o seguinte layout, pressionar C-c C-t
enquanto estiver na janela esquerda ( some-org-buffer
) será aberto *Org todo*
na janela direita:
+---------------------+---------------------+
| | |
| | |
| | |
| | |
| some-org-buffer | some-other-buffer |
| | |
| | |
| | |
| | |
+---------------------+---------------------+
Em vez disso, eu gostaria que uma pequena janela fosse exibida como uma divisão vertical, como abaixo:
+---------------------+---------------------+
| | |
| | |
| some-org-buffer | some-other-buffer |
| | |
| | |
+---------------------+ |
| | |
| *Org todo* | |
| | |
+---------------------+---------------------+
Partindo
dessa resposta , escrevi uma função para inserir 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))
No entanto, isso não funciona. Suspiro. O que eu fiz de errado com o display-buffer-alist
? Mais exatamente, como faço para que meu
todo
buffer de palavras-chave seja exibido onde eu quero?
org-switch-to-buffer-other-window
um monte de outras org
entranhas feias . Veja a resposta para a "solução" ignominiosa.
win
. Existe um motivo para você não poder usar apenas (selected-window)
aqui?
org-switch-to-buffer-other-window
para fazer o que deseja - você pode criar uma condição que faça o que quiser.