mirror of
https://gitlab.com/dwt1/dotfiles.git
synced 2026-04-25 04:20:24 +10:00
Minor edits.
This commit is contained in:
@@ -294,7 +294,7 @@ workspace to delete."
|
||||
(defun +workspace/new (&optional name clone-p)
|
||||
"Create a new workspace named NAME. If CLONE-P is non-nil, clone the current
|
||||
workspace, otherwise the new workspace is blank."
|
||||
(interactive "iP")
|
||||
(interactive (list nil current-prefix-arg))
|
||||
(unless name
|
||||
(setq name (format "#%s" (+workspace--generate-id))))
|
||||
(condition-case e
|
||||
|
||||
@@ -45,9 +45,7 @@ stored in `persp-save-dir'.")
|
||||
;; Remove default buffer predicate so persp-mode can put in its own
|
||||
(delq! 'buffer-predicate default-frame-alist 'assq)
|
||||
(require 'persp-mode)
|
||||
(if (daemonp)
|
||||
(add-hook 'after-make-frame-functions #'persp-mode-start-and-remove-from-make-frame-hook)
|
||||
(persp-mode +1)))))
|
||||
(persp-mode +1))))
|
||||
:config
|
||||
(setq persp-autokill-buffer-on-remove 'kill-weak
|
||||
persp-reset-windows-on-nil-window-conf nil
|
||||
@@ -144,6 +142,16 @@ stored in `persp-save-dir'.")
|
||||
(cadr prev-buffers)
|
||||
head)))
|
||||
|
||||
;; HACK Fixes #4196, #1525: selecting deleted buffer error when quitting Emacs
|
||||
;; or on some buffer listing ops.
|
||||
(defadvice! +workspaces-remove-dead-buffers-a (persp)
|
||||
:before #'persp-buffers-to-savelist
|
||||
(when (perspective-p persp)
|
||||
;; HACK Can't use `persp-buffers' because of a race condition with its gv
|
||||
;; getter/setter not being defined in time.
|
||||
(setf (aref persp 2)
|
||||
(cl-delete-if-not #'persp-get-buffer-or-null (persp-buffers persp)))))
|
||||
|
||||
;; Delete the current workspace if closing the last open window
|
||||
(define-key! persp-mode-map
|
||||
[remap delete-window] #'+workspace/close-window-or-workspace
|
||||
@@ -238,8 +246,9 @@ stored in `persp-save-dir'.")
|
||||
(defun +workspaces-reload-indirect-buffers-h (&rest _)
|
||||
(dolist (ibc +workspaces--indirect-buffers-to-restore)
|
||||
(cl-destructuring-bind (buffer-name . base-buffer-name) ibc
|
||||
(when (buffer-live-p (get-buffer base-buffer-name))
|
||||
(when (get-buffer buffer-name)
|
||||
(setq buffer-name (generate-new-buffer-name buffer-name)))
|
||||
(make-indirect-buffer bb buffer-name t))))
|
||||
(let ((base-buffer (get-buffer base-buffer-name)))
|
||||
(when (buffer-live-p base-buffer)
|
||||
(when (get-buffer buffer-name)
|
||||
(setq buffer-name (generate-new-buffer-name buffer-name)))
|
||||
(make-indirect-buffer base-buffer buffer-name t)))))
|
||||
(setq +workspaces--indirect-buffers-to-restore nil))))
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
;; -*- no-byte-compile: t; -*-
|
||||
;;; ui/workspaces/packages.el
|
||||
|
||||
(package! persp-mode :pin "14325c11f7a347717d7c3780f29b24a38c68fbfc")
|
||||
(package! persp-mode :pin "c132efe3094ce1368f54195028b29b82c65a64dc")
|
||||
|
||||
Reference in New Issue
Block a user