;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; various workspaces used day to day ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; load most recent auto save (defun kmn/workspace-load-auto () (interactive) (persp-load-state-from-file "persp-auto-save") ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; save the current workspace to `latest` filename (defun kmn/workspace-save-latest () (interactive) (persp-save-state-to-file "latest") ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; load `latest` file name to current workspace (defun kmn/workspace-load-latest () (interactive) (persp-load-state-from-file "latest") ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; org-mode workspace (defun kmn/workspace-org () (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) (next-multiframe-window) (goto-char 0) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; empty code workspace (defun kmn/workspace-code-empty () (interactive) (delete-other-windows) ; start with scratch buffer active (switch-to-buffer (get-buffer "*scratch*")) ; default scratch buffer has 2 comments @ top of file, jump past them (with-no-warnings (goto-line 3)) ; show dired at `~` in left side window (kmn/dired-default-directory-on-left) )