;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; DESKTOP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; misc desktop specific overrides 
(setq org-habit-graph-column 75)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 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 "r")
    (set-window-dedicated-p (selected-window) "t")
    (delete-other-windows)
    (split-window-below 15)
    (next-multiframe-window)
    (find-file "~/org/_habits.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)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
