40 lines
1.5 KiB
EmacsLisp
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)
|
||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|