From 6e0df30192cdd5ff485e7154ff6173b20b15040c Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Thu, 16 Feb 2023 11:15:11 +0700 Subject: [PATCH] Remove centaur tab grouping by project and group comint buffers together --- .config/emacs/init.org | 129 +++++++++++++++++++++++++---------------- 1 file changed, 79 insertions(+), 50 deletions(-) diff --git a/.config/emacs/init.org b/.config/emacs/init.org index 0e04942..ff017c3 100644 --- a/.config/emacs/init.org +++ b/.config/emacs/init.org @@ -294,27 +294,6 @@ Setup other stuff (dolist (mode '(dired-mode-hook lsp-help-mode-hook fundamental-mode-hook)) (add-hook mode (lambda () (setq truncate-lines t)))) -(straight-use-package 'centaur-tabs) -(setq centaur-tabs-set-bar 'under) -(setq x-underline-at-descent-line t) -(setq centaur-tabs-set-close-button nil) -(setq centaur-tabs-set-icons t) -(setq centaur-tabs-show-navigation-buttons nil) -(setq centaur-tabs-set-close-button nil) -(setq centaur-tabs-set-modified-marker nil) -(setq centaur-tabs-show-new-tab-button nil) -(setq centaur-tabs-label-fixed-length 16) - -(global-set-key (kbd "C-") #'centaur-tabs-forward-tab) -(global-set-key (kbd "C-S-") #'centaur-tabs-backward-tab) -(global-set-key (kbd "C-M-") #'centaur-tabs-forward-group) -(global-set-key (kbd "C-M-S-") #'centaur-tabs-backward-group) - -(dolist (mode '(dashboard-mode-hook)) - (add-hook mode 'centaur-tabs-local-mode)) - -(centaur-tabs-mode +1) - #+end_src ** Text @@ -824,39 +803,89 @@ The theme of `C-x 4` bindings is that they operate on other windows, so this fun #+end_src ** Tabs/Workspaces +*** Centaur Tabs #+begin_src emacs-lisp -(setq tab-bar-mode t) -(setq tab-bar-show nil) +(straight-use-package 'centaur-tabs) +(setq centaur-tabs-set-bar 'under) +(setq x-underline-at-descent-line t) +(setq centaur-tabs-set-close-button nil) +(setq centaur-tabs-set-icons t) +(setq centaur-tabs-show-navigation-buttons nil) +(setq centaur-tabs-set-close-button nil) +(setq centaur-tabs-set-modified-marker nil) +(setq centaur-tabs-show-new-tab-button nil) +(setq centaur-tabs-label-fixed-length 16) -(global-set-key (kbd "M-1") '(lambda () (interactive) (tab-bar-select-tab 1))) -(global-set-key (kbd "M-2") '(lambda () (interactive) (tab-bar-select-tab 2))) -(global-set-key (kbd "M-3") '(lambda () (interactive) (tab-bar-select-tab 3))) -(global-set-key (kbd "M-4") '(lambda () (interactive) (tab-bar-select-tab 4))) -(global-set-key (kbd "M-5") '(lambda () (interactive) (tab-bar-select-tab 5))) -(global-set-key (kbd "M-6") '(lambda () (interactive) (tab-bar-select-tab 6))) -(global-set-key (kbd "M-7") '(lambda () (interactive) (tab-bar-select-tab 7))) -(global-set-key (kbd "M-8") '(lambda () (interactive) (tab-bar-select-tab 8))) -(global-set-key (kbd "M-9") '(lambda () (interactive) (tab-bar-select-tab 9))) +(global-set-key (kbd "C-") #'centaur-tabs-forward-tab) +(global-set-key (kbd "C-S-") #'centaur-tabs-backward-tab) +(global-set-key (kbd "C-M-") #'centaur-tabs-forward-group) +(global-set-key (kbd "C-M-S-") #'centaur-tabs-backward-group) -(evil-global-set-key 'insert (kbd "M-1") '(lambda () (interactive) (tab-bar-select-tab 1))) -(evil-global-set-key 'insert (kbd "M-2") '(lambda () (interactive) (tab-bar-select-tab 2))) -(evil-global-set-key 'insert (kbd "M-3") '(lambda () (interactive) (tab-bar-select-tab 3))) -(evil-global-set-key 'insert (kbd "M-4") '(lambda () (interactive) (tab-bar-select-tab 4))) -(evil-global-set-key 'insert (kbd "M-5") '(lambda () (interactive) (tab-bar-select-tab 5))) -(evil-global-set-key 'insert (kbd "M-6") '(lambda () (interactive) (tab-bar-select-tab 6))) -(evil-global-set-key 'insert (kbd "M-7") '(lambda () (interactive) (tab-bar-select-tab 7))) -(evil-global-set-key 'insert (kbd "M-8") '(lambda () (interactive) (tab-bar-select-tab 8))) -(evil-global-set-key 'insert (kbd "M-9") '(lambda () (interactive) (tab-bar-select-tab 9))) +(dolist (mode '(dashboard-mode-hook)) + (add-hook mode 'centaur-tabs-local-mode)) -(evil-global-set-key 'normal (kbd "M-1") '(lambda () (interactive) (tab-bar-select-tab 1))) -(evil-global-set-key 'normal (kbd "M-2") '(lambda () (interactive) (tab-bar-select-tab 2))) -(evil-global-set-key 'normal (kbd "M-3") '(lambda () (interactive) (tab-bar-select-tab 3))) -(evil-global-set-key 'normal (kbd "M-4") '(lambda () (interactive) (tab-bar-select-tab 4))) -(evil-global-set-key 'normal (kbd "M-5") '(lambda () (interactive) (tab-bar-select-tab 5))) -(evil-global-set-key 'normal (kbd "M-6") '(lambda () (interactive) (tab-bar-select-tab 6))) -(evil-global-set-key 'normal (kbd "M-7") '(lambda () (interactive) (tab-bar-select-tab 7))) -(evil-global-set-key 'normal (kbd "M-8") '(lambda () (interactive) (tab-bar-select-tab 8))) -(evil-global-set-key 'normal (kbd "M-9") '(lambda () (interactive) (tab-bar-select-tab 9))) +(with-eval-after-load 'centaur-tabs + (defun centaur-tabs-buffer-groups () + "`centaur-tabs-buffer-groups' control buffers' group rules. + + Group centaur-tabs with mode if buffer is derived from `eshell-mode' `emacs-lisp-mode' `dired-mode' `org-mode' `magit-mode'. + All buffer name start with * will group to \"Emacs\". + Other buffer group by `centaur-tabs-get-group-name' with project name." + (list + (cond + ((derived-mode-p 'comint-mode) + "REPLs") + ((or (string-equal "*" (substring (buffer-name) 0 1)) + (memq major-mode '(magit-process-mode + magit-status-mode + magit-diff-mode + magit-log-mode + magit-file-mode + magit-blob-mode + magit-blame-mode))) + "*Buffers*") + ((memq major-mode '(helpful-mode + help-mode)) + "Help") + (t + "Emacs"))))) + +(centaur-tabs-mode +1) +#+end_src +*** Tabs +#+begin_src emacs-lisp +;; (setq tab-bar-mode t) +;; (setq tab-bar-show nil) + +;; (global-set-key (kbd "M-1") '(lambda () (interactive) (tab-bar-select-tab 1))) +;; (global-set-key (kbd "M-2") '(lambda () (interactive) (tab-bar-select-tab 2))) +;; (global-set-key (kbd "M-3") '(lambda () (interactive) (tab-bar-select-tab 3))) +;; (global-set-key (kbd "M-4") '(lambda () (interactive) (tab-bar-select-tab 4))) +;; (global-set-key (kbd "M-5") '(lambda () (interactive) (tab-bar-select-tab 5))) +;; (global-set-key (kbd "M-6") '(lambda () (interactive) (tab-bar-select-tab 6))) +;; (global-set-key (kbd "M-7") '(lambda () (interactive) (tab-bar-select-tab 7))) +;; (global-set-key (kbd "M-8") '(lambda () (interactive) (tab-bar-select-tab 8))) +;; (global-set-key (kbd "M-9") '(lambda () (interactive) (tab-bar-select-tab 9))) + +;; (evil-global-set-key 'insert (kbd "M-1") '(lambda () (interactive) (tab-bar-select-tab 1))) +;; (evil-global-set-key 'insert (kbd "M-2") '(lambda () (interactive) (tab-bar-select-tab 2))) +;; (evil-global-set-key 'insert (kbd "M-3") '(lambda () (interactive) (tab-bar-select-tab 3))) +;; (evil-global-set-key 'insert (kbd "M-4") '(lambda () (interactive) (tab-bar-select-tab 4))) +;; (evil-global-set-key 'insert (kbd "M-5") '(lambda () (interactive) (tab-bar-select-tab 5))) +;; (evil-global-set-key 'insert (kbd "M-6") '(lambda () (interactive) (tab-bar-select-tab 6))) +;; (evil-global-set-key 'insert (kbd "M-7") '(lambda () (interactive) (tab-bar-select-tab 7))) +;; (evil-global-set-key 'insert (kbd "M-8") '(lambda () (interactive) (tab-bar-select-tab 8))) +;; (evil-global-set-key 'insert (kbd "M-9") '(lambda () (interactive) (tab-bar-select-tab 9))) + +;; (evil-global-set-key 'normal (kbd "M-1") '(lambda () (interactive) (tab-bar-select-tab 1))) +;; (evil-global-set-key 'normal (kbd "M-2") '(lambda () (interactive) (tab-bar-select-tab 2))) +;; (evil-global-set-key 'normal (kbd "M-3") '(lambda () (interactive) (tab-bar-select-tab 3))) +;; (evil-global-set-key 'normal (kbd "M-4") '(lambda () (interactive) (tab-bar-select-tab 4))) +;; (evil-global-set-key 'normal (kbd "M-5") '(lambda () (interactive) (tab-bar-select-tab 5))) +;; (evil-global-set-key 'normal (kbd "M-6") '(lambda () (interactive) (tab-bar-select-tab 6))) +;; (evil-global-set-key 'normal (kbd "M-7") '(lambda () (interactive) (tab-bar-select-tab 7))) +;; (evil-global-set-key 'normal (kbd "M-8") '(lambda () (interactive) (tab-bar-select-tab 8))) +;; (evil-global-set-key 'normal (kbd "M-9") '(lambda () (interactive) (tab-bar-select-tab 9))) #+end_src ** Projects