Запустите Emacs с файлом org слева и повесткой дня справа - PullRequest
1 голос
/ 26 октября 2019

Я хочу открыть Emacs в полноэкранном режиме с двумя окнами, разделенными по вертикали. Я хочу, чтобы мой файл todo.org открывался слева, а мое представление повестки дня - справа.

Нечто подобное появляется в нескольких других вопросах на этом сайте, но они не совсем совпадают и/ или я не смог использовать / понять их ответы, чтобы полностью решить мою задачу.

В моем файле custom-init.el я очень близко подошел к следующему:

;; Windows layout setup
(add-to-list 'default-frame-alist '(fullscreen . maximized))
(split-window-right)
(setq initial-buffer-choice "~/emacs/Org/todo.org")
(setq org-agenda-window-setup 'current-window)
(add-hook 'after-init-hook (lambda () (org-agenda nil "u")))
(add-hook 'after-init-hook (lambda () (org-agenda-list 1)))

Это правильно форматирует экран с расположением окон и размером, отображаемым так, как я хочу. Он также открывает мой файл todo и размещает его слева, как я хотел, НО у меня есть буфер очистки, открытый справа. Повестка дня создана и отформатирована правильно и является третьим элементом в списке буферов (нуля, todo.org, Повестка дня, а затем все остальные файлы org, которые я открываю при запуске.)

Так близко, нопосле нескольких дней размышлений и проб разных вещей я просто не могу туда добраться.

1 Ответ

1 голос
/ 26 октября 2019

Добавление хука к window-setup-hook должно получить желаемый эффект - с учетом настроек вашего фрейма.

(add-to-list 'default-frame-alist '(fullscreen . maximized))
(setq initial-buffer-choice "~/emacs/org/todo.org")

(defun my-init-hook ()
  (split-window-right)
  (let ((org-agenda-window-setup 'other-window))
    (org-agenda nil "a")))

(add-hook 'window-setup-hook #'my-init-hook)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...