emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/auto-dim-other-buffers e473ef45ea 05/82: set buffer faces


From: ELPA Syncer
Subject: [nongnu] elpa/auto-dim-other-buffers e473ef45ea 05/82: set buffer faces MUCH less often
Date: Mon, 12 Dec 2022 20:58:37 -0500 (EST)

branch: elpa/auto-dim-other-buffers
commit e473ef45ea3defa22de7cfb4b2f7e02d41f346d5
Author: Steven Degutis <sbdegutis@gmail.com>
Commit: Steven Degutis <sbdegutis@gmail.com>

    set buffer faces MUCH less often
---
 auto-dim-other-buffers.el | 37 +++++++++++++++++++++++++------------
 1 file changed, 25 insertions(+), 12 deletions(-)

diff --git a/auto-dim-other-buffers.el b/auto-dim-other-buffers.el
index 5683cf2168..280dfdb3de 100644
--- a/auto-dim-other-buffers.el
+++ b/auto-dim-other-buffers.el
@@ -12,27 +12,40 @@
   :type 'face
   :group 'auto-dim-other-buffers)
 
-(defun turn-off-auto-dim-other-buffers ()
+(setq adob/last-buffer nil)
+
+(defun adob/pre-command-hook ()
+  (setq adob/last-buffer (current-buffer)))
+
+(defun adob/post-command-hook ()
+  (let ((original (current-buffer)))
+    (unless (eq original adob/last-buffer)
+      (dolist (buffer (buffer-list))
+        (set-buffer buffer)
+        (unless (minibufferp)
+          (buffer-face-set auto-dim-other-buffers-face)))
+      (set-buffer original)
+      (buffer-face-set nil))))
+
+(defun adob/clear-all-windows ()
   (interactive)
-  (remove-hook 'post-command-hook 'sd/auto-dim-other-buffers)
   (let ((original (current-buffer)))
     (dolist (buffer (buffer-list))
       (set-buffer buffer)
       (buffer-face-set nil))
     (set-buffer original)))
 
-(defun turn-on-auto-dim-other-buffers ()
+(defun turn-off-auto-dim-other-buffers ()
   (interactive)
-  (add-hook 'post-command-hook 'sd/auto-dim-other-buffers))
+  (remove-hook 'pre-command-hook 'adob/pre-command-hook)
+  (remove-hook 'post-command-hook 'adob/post-command-hook)
+  (adob/clear-all-windows))
 
-(defun sd/auto-dim-other-buffers ()
-  (let ((original (current-buffer)))
-    (dolist (buffer (buffer-list))
-      (set-buffer buffer)
-      (unless (minibufferp)
-        (buffer-face-set auto-dim-other-buffers-face)))
-    (set-buffer original)
-    (buffer-face-set nil)))
+(defun turn-on-auto-dim-other-buffers ()
+  (interactive)
+  (setq adob/last-buffer nil)
+  (add-hook 'pre-command-hook 'adob/pre-command-hook)
+  (add-hook 'post-command-hook 'adob/post-command-hook))
 
 (provide 'auto-dim-other-buffers)
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]