我想全屏打开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.org,议程,然后是我在启动时打开的所有其他组织文件。)
太近了,但是经过几天的思考和尝试不同的事情,我只是没有到达那里。
在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)