diff --git a/org/config-org-desktop.el b/org/config-org-desktop.el index 68bb411..e084d8f 100644 --- a/org/config-org-desktop.el +++ b/org/config-org-desktop.el @@ -8,21 +8,34 @@ ; 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) - (find-file "~/org/health/health_houdini.org") - (find-file "~/org/orgzly/_habits.org") - (find-file "~/org/orgzly/_todo.org") - (find-file "~/org/_index.org") - (org-agenda nil "r") - (delete-other-windows) - (split-window-below 15) - (next-multiframe-window) - (find-file "~/org/orgzly/_slipbox.org") - (split-window-below 15) - (next-multiframe-window) - (find-file "~/org/health/health_mike.org") - (next-multiframe-window) - (goto-char 0) - ) +(defun kmn/org-agenda-on-top () + (defvar parameters + '(window-parameters . ((no-other-window . t) + (no-delete-other-windows . t)))) + + (setq fit-window-to-buffer-horizontally t) + (setq window-resize-pixelwise t) + + (interactive) + (display-buffer-in-side-window + (get-buffer "*Org Agenda*") `((side . top) (slot . 0) + (window-width . fit-window-to-buffer) + (preserve-size . (t . nil)) , parameters)) ) + +(add-hook 'after-init-hook (lambda () + (interactive) + ; front load org-agenda so it doesnt reshuffle the frame layout on us + (org-agenda nil "r") + ; start with fresh frame + (delete-other-windows) + ; show kmn's slipbox + (find-file "~/org/orgzly/_slipbox.org") + ; split window for additional file to show + (split-window-below) + (next-multiframe-window) + ; show kmn health notes/data tracker + (find-file "~/org/health/health_mike.org") + ; put agenda in top side window (works around org-mode limitations + (kmn/org-agenda-on-top) +))