;;; module-perspective.el --- workspace management ;;; ;;; Commentary: ;;; ;;; Declutter buffer lists. ;;; ;;; Code: (require 'module-pkg) (pkg/require 'perspective) (pkg/require 'persp-projectile) (persp-mode +1) (persp-turn-on-modestring) (defun my-persp-save () (persp-state-save "~/.config/emacs/perspectives")) (defun my-persp-load () (persp-state-load "~/.config/emacs/perspectives")) (global-set-key (kbd "C-x k") 'persp-kill-buffer*) (global-set-key (kbd "C-x x s") 'persp-switch) (global-set-key (kbd "C-x x k") 'persp-kill) (global-set-key (kbd "C-x x r") 'persp-rename) (global-set-key (kbd "C-x x n") 'persp-next) (global-set-key (kbd "C-x x p") 'persp-prev) (global-set-key (kbd "C-x C-b") 'persp-ibuffer) (define-key projectile-mode-map (kbd "C-x p s") 'projectile-persp-switch-project) (autoload 'projectile-project-root "projectile") (setq consult-project-root-function #'projectile-project-root) ;; load and save perspectives on load and exit (add-hook 'kill-emacs-hook 'my-persp-save) (add-hook 'after-init-hook 'my-persp-load) (provide 'module-perspective) ;;; module-projectile.el ends here.