Files
.emacs.d/lisp/init-workspace.el

73 lines
2.4 KiB
EmacsLisp
Raw Normal View History

2025-12-20 15:13:13 +11:00
;; -*- lexical-binding: t; -*-
2025-12-22 19:52:24 +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))
;; (use-package persp-projectile
;; :after (persp-mode projectile))
2025-12-21 12:57:53 +11:00
2025-12-22 19:52:24 +11:00
;; (use-package projectile
;; :hook (elpaca-after-init . projectile-mode)
;; :bind ([remap projectile-switch-project] . projectile-persp-switch-project)
;; :custom
;; (projectile-enable-caching t)
;; :config
;; ;; Recommended keymap prefix on Windows/Linux
;; (define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map))
2025-12-21 12:57:53 +11:00
2025-12-22 19:52:24 +11:00
(use-package tabspaces
:functions tabspaces-mode
:hook (elpaca-after-init . tabspaces-mode)
2025-12-21 14:53:44 +11:00
:custom
2025-12-22 19:52:24 +11:00
(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")
2025-12-21 14:53:44 +11:00
:config
2025-12-22 19:52:24 +11:00
(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))
(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
2025-12-22 20:20:46 +11:00
(use-package centaur-tabs
:demand t
:hook (elpaca-after-init . centaur-tabs-mode)
:bind
("C-<prior>" . centaur-tabs-backward)
("C-<next>" . centaur-tabs-forward))
2025-12-20 15:13:13 +11:00
(provide 'init-workspace)