Открыть буфер захвата Org в определенном окне? - PullRequest
0 голосов
/ 15 января 2019

Я был пользователем Emacs около года или около того. У меня обычно одно и то же окно настраивается для каждой сессии (четыре окна).

Я настроил шаблоны захвата и могу захватывать то, что я хочу, но: вместо режима захвата, временно выводящего меня из настройки моего окна, я бы хотел, чтобы выбранный шаблон захвата открывался в новом (пятом) окне, сохранение моего существующего макета. Обычно я хочу, чтобы шаблон захвата был открыт на некоторое время, поэтому он подрывает работу.

Это кажется , как будто это очевидный вариант, но я не могу понять это. Заранее спасибо всем Emacs'ам.

1 Ответ

0 голосов
/ 18 января 2019

Я придумал более простую в использовании версию Ответ Дэна на связанный вопрос:

(defun my-org-capture-place-template-dont-delete-windows (oldfun args)
  (cl-letf (((symbol-function 'delete-other-windows) 'ignore))
    (apply oldfun args)))

(with-eval-after-load "org-capture"
  (advice-add 'org-capture-place-template :around 'my-org-capture-place-template-dont-delete-windows))

То есть вместо того, чтобы изменять код режима Org и удалять вызов на delete-other-windows, этот фрагмент кода временно переопределяет delete-other-windows на ignore, пока вызывается org-capture-place-template.

Он не делает то, что вам нужно: он выбирает одно из существующих окон и помещает туда буфер захвата. По крайней мере, это лучше, чем стандартное поведение удаления всех предыдущих окон, кроме одного.

Возможно, есть способ сделать то, что вы хотите, настроив переменную display-buffer-alist, но я не мог понять это ...

...