add function to show the org agenda buffer in the top side window ; re-work the after-init org-mode hook to better auto-layout a default work space

This commit is contained in:
KemoNine 2023-04-08 11:41:00 -04:00
parent 8f829a6d6c
commit f9b5908719
1 changed files with 30 additions and 17 deletions

View File

@ -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)
))