From f19c62f75a1613e5e5b0ebd4f92c824c6ca27809 Mon Sep 17 00:00:00 2001 From: kj Date: Mon, 22 Aug 2022 19:42:46 -0400 Subject: [PATCH] Add multi-session (by project) desktop write/read. --- configs/base-extensions.el | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/configs/base-extensions.el b/configs/base-extensions.el index 634fe0a..dae1fda 100644 --- a/configs/base-extensions.el +++ b/configs/base-extensions.el @@ -41,6 +41,16 @@ )) ) +(use-package desktop + :straight t + :config + (setq desktop-path (list (concat temp-dir))) + (defun desktop-write() + "Llama a desktop save de manera que no pregunte nada." + (interactive) + (desktop-save temp-dir)) + ) + ;; Mover líneas o regiones (use-package drag-stuff :defer t @@ -206,7 +216,6 @@ (setq projectile-project-search-path (append projectile-project-search-path '("~/mnt/Nginx")))) - (setq projectile-switch-project-action #'projectile-dired) ; Usar dired cuando se elija un proyecto. ;; Cambiar el título de la ventana de emacs (setq frame-title-format @@ -218,7 +227,20 @@ "%b" " - Emacs") ) - ) + + + (defun projectile-desktop-save-hook () + "Nombres de los archivos de desktop-save según el nombre del proyecto." + (setq desktop-hash + (secure-hash 'md5 (concat (projectile-project-root)))) + + (setq + desktop-base-file-name (concat ".emacs-" desktop-hash ".desktop") + desktop-base-lock-name (concat ".emacs-" desktop-hash ".desktop" ".lock")) + ) + + (add-hook 'projectile-after-switch-project-hook #'projectile-desktop-save-hook) + ) ;; Recentf - Guarda registro de los archivos abiertos recientemente (use-package recentf