nftable-migration
  1;;; config-buffers.el --- -*- lexical-binding: t; -*-
  2;;; Commentary:
  3;;; Buffer related configurations
  4;;; Code:
  5
  6(use-package savehist
  7  :unless noninteractive
  8  :hook (after-init . savehist-mode)
  9  :init
 10  (setq savehist-file (no-littering-expand-var-file-name "savehist"))
 11  :config
 12  (setq-default history-length 10000
 13                savehist-save-minibuffer-history t
 14		savehist-delete-duplicates t
 15                savehist-autosave-interval 180
 16                savehist-additional-variables '(extended-command-history
 17                                                search-ring
 18                                                regexp-search-ring
 19                                                comint-input-ring
 20                                                compile-history
 21                                                last-kbd-macro
 22                                                shell-command-history)))
 23
 24(use-package uniquify
 25  :unless noninteractive
 26  :config
 27  (setq-default uniquify-buffer-name-style 'post-forward
 28                uniquify-separator ":"
 29                uniquify-ignore-buffers-re "^\\*"
 30                uniquify-after-kill-buffer-p t))
 31
 32(use-package ibuffer
 33  :unless noninteractive
 34  :commands (ibuffer)
 35  :bind (("C-x C-b" . ibuffer)
 36         ([remap list-buffers] . ibuffer))
 37  :config
 38  (setq-default ibuffer-expert t
 39                ibuffer-filter-group-name-face 'font-lock-doc-face
 40                ibuffer-default-sorting-mode 'filename/process
 41                ibuffer-use-header-line t
 42                ibuffer-show-empty-filter-groups nil)
 43  ;; Use human readable Size column instead of original one
 44  (define-ibuffer-column size-h
 45    (:name "Size" :inline t)
 46    (cond
 47     ((> (buffer-size) 1000000) (format "%7.1fM" (/ (buffer-size) 1000000.0)))
 48     ((> (buffer-size) 1000) (format "%7.1fk" (/ (buffer-size) 1000.0)))
 49     (t (format "%8d" (buffer-size)))))
 50
 51  ;; (setq ibuffer-formats
 52  ;;       '((mark modified read-only " "
 53  ;;               (name 18 18 :left :elide)
 54  ;;               " "
 55  ;;               (size-h 9 -1 :right)
 56  ;;               " "
 57  ;;               (mode 16 16 :left :elide)
 58  ;;               " "
 59  ;;               filename-and-process)
 60  ;;         (mark modified read-only " "
 61  ;;               (name 18 18 :left :elide)
 62  ;;               " "
 63  ;;               (size 9 -1 :right)
 64  ;;               " "
 65  ;;               (mode 16 16 :left :elide)
 66  ;;               " "
 67  ;;               (vc-status 16 16 :left)
 68  ;;               " "
 69  ;;               filename-and-process)))
 70  )
 71
 72(use-package ibuffer-vc
 73  :unless noninteractive
 74  :commands (ibuffer-vc-set-filter-groups-by-vc-root)
 75  :hook (ibuffer . (lambda ()
 76                     (ibuffer-vc-set-filter-groups-by-vc-root)
 77                     (unless (eq ibuffer-sorting-mode 'filename/process)
 78                       (ibuffer-do-sort-by-filename/process)))))
 79
 80;; (unless noninteractive
 81;;   (require 'popper)
 82;;   (setq popper-reference-buffers
 83;;         '("\\*Messages\\*"
 84;;           "Output\\*$"
 85;;           "\\*Async Shell Command\\*"
 86;; 	  "\\*Warnings\\*"
 87;; 	  "\\*Compile-Log\\*"
 88;;           help-mode
 89;; 	  helpful-mode
 90;;           compilation-mode
 91;; 	  flymake-diagnostics-buffer-mode
 92;; 	  flymake-project-diagnostics-mode
 93;; 	  Man-mode
 94;; 	  woman-mode))
 95;;   (global-set-key (kbd "C-`") 'popper-toggle)
 96;;   (global-set-key (kbd "M-`") 'popper-cycle)
 97;;   (global-set-key (kbd "C-M-`") 'popper-toggle-type)
 98;;   (popper-mode +1)
 99;; 
100;;   ;; For echo-area hints
101;;   (require 'popper-echo)
102;;   (popper-echo-mode +1))
103
104(use-package goto-addr
105  :hook ((text-mode . goto-address-mode)
106         (prog-mode . goto-address-prog-mode)))
107
108(provide 'config-buffers)
109;;; config-buffers.el ends here