This commit is contained in:
Zelong Kuang
2025-12-21 10:30:07 +11:00
parent c47c26e94d
commit fb9a913f80
4 changed files with 52 additions and 45 deletions

2
.gitignore vendored
View File

@@ -55,4 +55,4 @@ tabsession.el
/var/ /var/
/persp-confs/ /persp-confs/
/tree-sitter/ /tree-sitter/
/url/ /url/

View File

@@ -55,6 +55,10 @@
(setq frame-title-format "Emacs: %b") (setq frame-title-format "Emacs: %b")
(setq custom-safe-themes t) (setq custom-safe-themes t)
(setq-default tab-width 4
compilation-scroll-output t
indent-tabs-mode nil)
(setq ring-bell-function 'ignore) (setq ring-bell-function 'ignore)
(setq undo-limit 80000000 (setq undo-limit 80000000
auto-save-default t auto-save-default t

View File

@@ -44,6 +44,7 @@
inhibit-startup-echo-area-message user-login-name inhibit-startup-echo-area-message user-login-name
inhibit-default-init t inhibit-default-init t
initial-scratch-message nil) initial-scratch-message nil)
(unless (daemonp) (unless (daemonp)
(advice-add #'display-startup-echo-area-message :override #'ignore)) (advice-add #'display-startup-echo-area-message :override #'ignore))

View File

@@ -1,51 +1,53 @@
;; -*- lexical-binding: t; -*- ;; -*- lexical-binding: t; -*-
(use-package tabspaces ;; (use-package tabspaces
:functions tabspaces-mode ;; :functions tabspaces-mode
:hook (elpaca-after-init . tabspaces-mode) ;; :hook (elpaca-after-init . tabspaces-mode)
:custom ;; :custom
(tab-bar-show nil) ;; (tab-bar-show nil)
(tabspaces-use-filtered-buffers-as-default t) ;; (tabspaces-use-filtered-buffers-as-default t)
(tabspaces-default-tab "Default") ;; (tabspaces-default-tab "Default")
(tabspaces-remove-to-default t) ;; (tabspaces-remove-to-default t)
(tabspaces-include-buffers '("*scratch*" "*Messages*")) ;; (tabspaces-include-buffers '("*scratch*" "*Messages*"))
(tabspaces-exclude-buffers '("*eat*" "*vterm*" "*shell*" "*eshell*")) ;; (tabspaces-exclude-buffers '("*eat*" "*vterm*" "*shell*" "*eshell*"))
;; sessions ;; ;; sessions
(tabspaces-session t) ;; (tabspaces-session t)
(tabspaces-session-auto-restore t) ;; (tabspaces-session-auto-restore t)
(tabspaces-keymap-prefix "C-c w") ;; (tabspaces-keymap-prefix "C-c w")
:config ;; :config
(with-no-warnings ;; (with-no-warnings
;; Filter Buffers for Consult-Buffer ;; ;; Filter Buffers for Consult-Buffer
(with-eval-after-load 'consult ;; (with-eval-after-load 'consult
;; hide full buffer list (still available with "b" prefix) ;; ;; hide full buffer list (still available with "b" prefix)
(consult-customize consult--source-buffer :hidden t :default nil) ;; (consult-customize consult--source-buffer :hidden t :default nil)
;; set consult-workspace buffer list ;; ;; set consult-workspace buffer list
(defvar consult--source-workspace ;; (defvar consult--source-workspace
(list :name "Workspace Buffer" ;; (list :name "Workspace Buffer"
:narrow ?w ;; :narrow ?w
:history 'buffer-name-history ;; :history 'buffer-name-history
:category 'buffer ;; :category 'buffer
:state #'consult--buffer-state ;; :state #'consult--buffer-state
:default t ;; :default t
:items (lambda () (consult--buffer-query ;; :items (lambda () (consult--buffer-query
:predicate #'tabspaces--local-buffer-p ;; :predicate #'tabspaces--local-buffer-p
:sort 'visibility ;; :sort 'visibility
:as #'buffer-name))) ;; :as #'buffer-name)))
"Set workspace buffer list for consult-buffer.") ;; "Set workspace buffer list for consult-buffer.")
(add-to-list 'consult-buffer-sources 'consult--source-workspace)) ;; (add-to-list 'consult-buffer-sources 'consult--source-workspace))
(defun my-tabspaces-delete-childframe (&rest _) ;; (defun my-tabspaces-delete-childframe (&rest _)
"Delete all child frames." ;; "Delete all child frames."
(ignore-errors ;; (ignore-errors
(posframe-delete-all))) ;; (posframe-delete-all)))
(advice-add #'tabspaces-save-session :before #'my-tabspaces-delete-childframe) ;; (advice-add #'tabspaces-save-session :before #'my-tabspaces-delete-childframe)
(defun my-tabspaces-burry-window (&rest _) ;; (defun my-tabspaces-burry-window (&rest _)
"Burry *Messages* buffer." ;; "Burry *Messages* buffer."
(ignore-errors ;; (ignore-errors
(quit-windows-on messages-buffer-name))) ;; (quit-windows-on messages-buffer-name)))
(advice-add #'tabspaces-restore-session :after #'my-tabspaces-burry-window))) ;; (advice-add #'tabspaces-restore-session :after #'my-tabspaces-burry-window)))
(provide 'init-workspace) (provide 'init-workspace)