Make config more emacsclient-friendly

This commit is contained in:
Henrik Lissner 2017-04-22 01:49:15 -04:00
parent 72bf9df905
commit b47b951a41
5 changed files with 24 additions and 10 deletions

View file

@ -42,17 +42,24 @@ renamed.")
;; auto-save on kill
persp-auto-save-opt 1)
(add-hook! 'after-init-hook
(persp-mode +1)
(defun +workspaces|init (&rest _)
(unless persp-mode
(persp-mode +1))
;; The default perspective persp-mode makes (defined by `persp-nil-name') is
;; special and doesn't actually represent a real persp object, so buffers
;; can't really be assigned to it, among other quirks. We create a *real*
;; main workspace to fill this role.
(persp-add-new +workspaces-main)
;; Switch to it if we aren't auto-loading the last session
(when (= persp-auto-resume-time -1)
(when (or (= persp-auto-resume-time -1)
(equal (safe-persp-name (get-current-persp)) persp-nil-name))
(persp-frame-switch +workspaces-main)))
(add-hook! 'after-init-hook
(if (display-graphic-p)
(+workspaces|init)
(add-hook 'after-make-frame-functions '+workspaces|init)))
(define-key persp-mode-map [remap delete-window] #'+workspace/close-window-or-workspace)
;; Per-frame perspectives