2025-12-20 15:13:13 +11:00
|
|
|
|
;; -*- lexical-binding: t; -*-
|
|
|
|
|
|
|
2026-01-30 15:15:41 +11:00
|
|
|
|
(use-package persp-mode
|
|
|
|
|
|
:hook (elpaca-after-init . persp-mode)
|
|
|
|
|
|
:custom
|
|
|
|
|
|
(persp-mode-prefix-key "o")
|
|
|
|
|
|
:config
|
|
|
|
|
|
(setq wg-morph-on nil)
|
|
|
|
|
|
(setq persp-autokill-buffer-on-remove 'kill-weak))
|
2025-12-21 12:57:53 +11:00
|
|
|
|
|
2026-01-30 15:15:41 +11:00
|
|
|
|
(use-package persp-projectile
|
|
|
|
|
|
:after (persp-mode projectile))
|
2026-01-30 03:52:15 +11:00
|
|
|
|
|
2026-01-30 15:15:41 +11:00
|
|
|
|
(use-package projectile
|
|
|
|
|
|
:hook (elpaca-after-init . projectile-mode)
|
|
|
|
|
|
:bind ([remap projectile-switch-project] . projectile-persp-switch-project)
|
2025-12-21 14:53:44 +11:00
|
|
|
|
:custom
|
2026-01-30 15:15:41 +11:00
|
|
|
|
(projectile-enable-caching t)
|
2025-12-21 14:53:44 +11:00
|
|
|
|
:config
|
2026-01-30 15:15:41 +11:00
|
|
|
|
;; Recommended keymap prefix on Windows/Linux
|
|
|
|
|
|
(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map))
|
|
|
|
|
|
|
|
|
|
|
|
;; (use-package tabspaces
|
|
|
|
|
|
;; :functions tabspaces-mode
|
|
|
|
|
|
;; :hook (elpaca-after-init . tabspaces-mode)
|
|
|
|
|
|
;; :custom
|
|
|
|
|
|
;; (tab-bar-show nil)
|
|
|
|
|
|
|
|
|
|
|
|
;; (tabspaces-use-filtered-buffers-as-default t)
|
|
|
|
|
|
;; (tabspaces-default-tab "Default")
|
|
|
|
|
|
;; (tabspaces-remove-to-default t)
|
|
|
|
|
|
;; (tabspaces-include-buffers '("*scratch*" "*Messages*"))
|
|
|
|
|
|
;; (tabspaces-exclude-buffers '("*eat*" "*vterm*" "*shell*" "*eshell*"))
|
|
|
|
|
|
;; ;; sessions
|
|
|
|
|
|
;; (tabspaces-session t)
|
|
|
|
|
|
;; (tabspaces-session-auto-restore t)
|
|
|
|
|
|
;; (tabspaces-keymap-prefix "C-c o")
|
|
|
|
|
|
;; :config
|
|
|
|
|
|
;; (with-no-warnings
|
|
|
|
|
|
;; ;; Filter Buffers for Consult-Buffer
|
|
|
|
|
|
;; (with-eval-after-load 'consult
|
|
|
|
|
|
;; ;; hide full buffer list (still available with "b" prefix)
|
|
|
|
|
|
;; (consult-customize consult--source-buffer :hidden t :default nil)
|
|
|
|
|
|
;; ;; set consult-workspace buffer list
|
|
|
|
|
|
;; (defvar consult--source-workspace
|
|
|
|
|
|
;; (list :name "Workspace Buffer"
|
|
|
|
|
|
;; :narrow ?w
|
|
|
|
|
|
;; :history 'buffer-name-history
|
|
|
|
|
|
;; :category 'buffer
|
|
|
|
|
|
;; :state #'consult--buffer-state
|
|
|
|
|
|
;; :default t
|
|
|
|
|
|
;; :items (lambda () (consult--buffer-query
|
|
|
|
|
|
;; :predicate #'tabspaces--local-buffer-p
|
|
|
|
|
|
;; :sort 'visibility
|
|
|
|
|
|
;; :as #'buffer-name)))
|
|
|
|
|
|
;; "Set workspace buffer list for consult-buffer.")
|
|
|
|
|
|
;; (add-to-list 'consult-buffer-sources 'consult--source-workspace))
|
2025-12-22 19:52:24 +11:00
|
|
|
|
|
2026-01-30 15:15:41 +11:00
|
|
|
|
;; (defun my-tabspaces-burry-window (&rest _)
|
|
|
|
|
|
;; "Burry *Messages* buffer."
|
|
|
|
|
|
;; (ignore-errors
|
|
|
|
|
|
;; (quit-windows-on messages-buffer-name)))
|
|
|
|
|
|
;; (advice-add #'tabspaces-restore-session :after #'my-tabspaces-burry-window)))
|
2025-12-20 15:13:13 +11:00
|
|
|
|
|
|
|
|
|
|
(provide 'init-workspace)
|