From 8b32ad1292aa430fb4a0c14e20edf02019aab2f8 Mon Sep 17 00:00:00 2001 From: Daniel Borchmann Date: Sun, 23 Mar 2025 12:40:00 +0100 Subject: [PATCH] Add some default ibuffer filter groups Motivated by [emacs-solo][1] and extended with some information from the [Emacs-Wiki][2]. [1]: https://github.com/LionyxML/emacs-solo/blob/45d7bc1bd18051ce343bd341e899389891038aed/init.el#L125 [2]: https://www.emacswiki.org/emacs/IbufferFilters --- init.el | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/init.el b/init.el index c5440fc..d32073d 100644 --- a/init.el +++ b/init.el @@ -253,6 +253,40 @@ ;; and replace it with something more straightforward. (advice-add 'grep-read-files :around #'db/grep-read-files))) +(use-package ibuffer + :config (add-hook 'ibuffer-mode-hook + #'(lambda () + (ibuffer-switch-to-saved-filter-groups "default")))) + +(use-package ibuf-ext + :commands (ibuffer-switch-to-saved-filter-groups) + :init (setq ibuffer-show-empty-filter-groups nil + ibuffer-saved-filter-groups '(("default" + ("Org" (or (mode . org-mode) + (name . "^\\*Org Src") + (name . "^\\*Org Agenda\\*$"))) + ("Emacs" (or (name . "^\\*scratch\\*$") + (name . "^\\*Messages\\*$") + (name . "^\\*Warnings\\*$") + (name . "^\\*Shell Command Output\\*$") + (name . "^\\*Async-native-compile-log\\*$") + (mode . Custom-mode) + (mode . package-menu-mode))) + ("Dired" (mode . dired-mode)) + ("Magit" (or (mode . magit-status-mode) + (mode . magit-process-mode) + (mode . magit-repolist-mode))) + ("Gnus" (or (mode . gnus-group-mode) + (mode . gnus-summary-mode) + (mode . gnus-article-mode))) + ("Shells" (or (mode . term-mode) + (mode . shell-mode) + (mode . eshell-mode))) + ("Help" (or (name . "^\\*Help\\*$") + (name . "^\\*info\\*$") + (name . "^\\*helpful"))) + ("Tramp" (name . "^\\*tramp.*")))))) + (use-package multisession :init (setq multisession-directory (expand-file-name "multisession/" emacs-d-userdata)))