Files
.emacs.d/lisp/init-workspace.el
Zelong Kuang fb9a913f80 Update
2025-12-21 10:30:07 +11:00

54 lines
2.0 KiB
EmacsLisp

;; -*- lexical-binding: t; -*-
;; (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 w")
;; :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))
;; (defun my-tabspaces-delete-childframe (&rest _)
;; "Delete all child frames."
;; (ignore-errors
;; (posframe-delete-all)))
;; (advice-add #'tabspaces-save-session :before #'my-tabspaces-delete-childframe)
;; (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)))
(provide 'init-workspace)