emacs/org/config-org-desktop.el

40 lines
1.5 KiB
EmacsLisp

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; DESKTOP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Personal startup screen (Desktop)
; - preferred org agenda as dedicated window at the top of the frame, n lines high
; - common org files open in the bottom window
(add-hook 'after-init-hook (lambda ()
(interactive)
(org-agenda nil "P")
(set-window-dedicated-p (selected-window) "t")
(delete-other-windows)
(split-window-below 15)
(next-multiframe-window)
(find-file "~/org/_index_phone.org")
(find-file "~/org/_todo.org")
(find-file "~/org/_index.org")
)
)
; Make sure emacs and org don't keep opening new windows (Desktop)
(setq pop-up-windows nil)
(setq inhibit-same-window nil)
(setq inhibit-switch-frame nil)
(setq split-height-threshold 200)
(setq split-width-threshold 200)
(defun my-display-buffer-function (buf not-this-window)
(if (and (not pop-up-frames)
(one-window-p)
(or not-this-window
(not (eq (window-buffer (selected-window)) buf)))
(> (frame-width) 162))
(split-window-horizontally))
;; Note: Some modules sets `pop-up-windows' to t before calling
;; `display-buffer' -- Why, oh, why!
(let ((display-buffer-function nil)
(pop-up-windows nil))
(display-buffer buf nil)))
(setq display-buffer-function 'my-display-buffer-function)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;