aboutsummaryrefslogtreecommitdiff
path: root/modules/system-utils.el
diff options
context:
space:
mode:
Diffstat (limited to 'modules/system-utils.el')
-rw-r--r--modules/system-utils.el21
1 files changed, 19 insertions, 2 deletions
diff --git a/modules/system-utils.el b/modules/system-utils.el
index 7cf958674..b393aa33f 100644
--- a/modules/system-utils.el
+++ b/modules/system-utils.el
@@ -102,7 +102,7 @@ detached from Emacs."
(interactive)
(save-some-buffers)
(kill-emacs))
-(keymap-global-set "C-<f10>" #'cj/server-shutdown)
+(keymap-global-set "C-x C" #'cj/server-shutdown)
;;; ---------------------------- History Persistence ----------------------------
@@ -123,7 +123,8 @@ detached from Emacs."
read-char-history
face-name-history
bookmark-history
- file-name-history))
+ file-name-history
+ wttrin--location-history))
(put 'minibuffer-history 'history-length 50)
(put 'file-name-history 'history-length 50)
@@ -146,6 +147,22 @@ detached from Emacs."
;; in `nerd-icons-config'.
(keymap-global-set "<remap> <list-buffers>" #'ibuffer)
+;; Swap delete and diff in the ibuffer list: d diffs the buffer at point against
+;; its saved file (was on =), and D marks it for deletion (was on d; `x' still
+;; executes the marks).
+(defvar ibuffer-mode-map)
+(declare-function ibuffer-diff-with-file "ibuffer")
+(declare-function ibuffer-mark-for-delete "ibuffer")
+(with-eval-after-load 'ibuffer
+ (keymap-set ibuffer-mode-map "d" #'ibuffer-diff-with-file)
+ (keymap-set ibuffer-mode-map "D" #'ibuffer-mark-for-delete))
+
+;; ibuffer paints its rows with manual `face' properties (nerd-icons + ibuffer
+;; faces). Left in `global-font-lock-mode', font-lock leaks keyword fontification
+;; onto buffer and mode names, mixing wrong colors in. Exclude it, the same fix
+;; as the shr-rendered reader modes.
+(cj/exclude-from-global-font-lock 'ibuffer-mode)
+
;;; -------------------------- Scratch Buffer Happiness -------------------------
(defvar scratch-emacs-version-and-system