From f345dd91b6d8cbece44616dcf72c00d26af14d0c Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Mon, 11 Jul 2022 20:00:04 -0500 Subject: 2022-07-11 --- lisp/+emacs.el | 38 ++++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) (limited to 'lisp/+emacs.el') diff --git a/lisp/+emacs.el b/lisp/+emacs.el index 322e8a9..b69d1a0 100644 --- a/lisp/+emacs.el +++ b/lisp/+emacs.el @@ -222,6 +222,22 @@ Do this only if the buffer is not visiting a file." (add-hook 'find-file-not-found-functions #'+auto-create-missing-dirs) +(defvar +save-some-buffers-debounce-time nil + "Last time `+save-some-buffers-debounce' was run.") + +(defcustom +save-some-buffers-debounce-timeout 5 + "Number of seconds to wait before saving buffers again.") + +(defun +save-some-buffers-debounce (&rest _) + "Run `save-some-buffers', but only if it's been a while." + (unless (and +save-some-buffers-debounce-time + (< (- (time-convert nil 'integer) +save-some-buffers-debounce-time) + +save-some-buffers-debounce-timeout)) + (save-some-buffers t) + (setq +save-some-buffers-debounce-time (time-convert nil 'integer)))) + +(add-function :after after-focus-change-function #'+save-some-buffers-debounce) + ;;; Better-default functions ... @@ -320,16 +336,18 @@ It returns nil with remote files." ;;; Bindings -(define-key (current-global-map) (kbd "C-x C-c") #'+save-buffers-quit) -(define-key (current-global-map) (kbd "M-SPC") #'+cycle-spacing) -(define-key (current-global-map) (kbd "M-/") #'hippie-expand) -(define-key (current-global-map) (kbd "M-=") #'count-words) -(define-key (current-global-map) (kbd "C-x C-b") #'ibuffer) -(define-key (current-global-map) (kbd "C-s") #'isearch-forward-regexp) -(define-key (current-global-map) (kbd "C-r") #'isearch-backward-regexp) -(define-key (current-global-map) (kbd "C-M-s") #'isearch-forward) -(define-key (current-global-map) (kbd "C-M-r") #'isearch-backward) -(define-key (current-global-map) (kbd "C-M--") #'+goto-matching-paren) +(global-set-key (kbd "C-x C-c") #'+save-buffers-quit) +(global-set-key (kbd "M-SPC") #'+cycle-spacing) +(global-set-key (kbd "M-/") #'hippie-expand) +(global-set-key (kbd "M-=") #'count-words) +(global-set-key (kbd "C-x C-b") #'ibuffer) +(global-set-key (kbd "C-s") #'isearch-forward-regexp) +(global-set-key (kbd "C-r") #'isearch-backward-regexp) +(global-set-key (kbd "C-M-s") #'isearch-forward) +(global-set-key (kbd "C-M-r") #'isearch-backward) +(global-set-key (kbd "C-x 4 n") #'clone-buffer) +;; https://christiantietze.de/posts/2022/07/shift-click-in-emacs-to-select/ +(global-set-key (kbd "S-") #'mouse-set-mark) ;;; Required libraries -- cgit 1.4.1-21-gabe81