[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/auto-dim-other-buffers 16db9f4942 06/82: MUCH more efficie
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/auto-dim-other-buffers 16db9f4942 06/82: MUCH more efficient: only changes faces for 2 buffers max, and only when necessary |
Date: |
Mon, 12 Dec 2022 20:58:37 -0500 (EST) |
branch: elpa/auto-dim-other-buffers
commit 16db9f49425e272ec58fcb837fb5c4512b4f02d3
Author: Steven Degutis <sbdegutis@gmail.com>
Commit: Steven Degutis <sbdegutis@gmail.com>
MUCH more efficient: only changes faces for 2 buffers max, and only when
necessary
---
auto-dim-other-buffers.el | 26 +++++++++++++++-----------
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/auto-dim-other-buffers.el b/auto-dim-other-buffers.el
index 280dfdb3de..cfb49523c4 100644
--- a/auto-dim-other-buffers.el
+++ b/auto-dim-other-buffers.el
@@ -12,38 +12,42 @@
:type 'face
:group '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)))
+ (unless (eq original adob/last-buffer) ;; if we haven't switched buffers,
do nothing
+ (when (and adob/last-buffer
+ (not (minibufferp adob/last-buffer)))
+ (set-buffer adob/last-buffer)
+ (buffer-face-set auto-dim-other-buffers-face))
(set-buffer original)
(buffer-face-set nil))))
-(defun adob/clear-all-windows ()
- (interactive)
+(defun adob/set-face-on-all-buffers (face)
(let ((original (current-buffer)))
(dolist (buffer (buffer-list))
(set-buffer buffer)
- (buffer-face-set nil))
+ (buffer-face-set face))
(set-buffer original)))
+(defun adob/undim-all-windows ()
+ (adob/set-face-on-all-buffers nil))
+
+(defun adob/dim-all-windows ()
+ (adob/set-face-on-all-buffers auto-dim-other-buffers-face))
+
(defun turn-off-auto-dim-other-buffers ()
(interactive)
(remove-hook 'pre-command-hook 'adob/pre-command-hook)
(remove-hook 'post-command-hook 'adob/post-command-hook)
- (adob/clear-all-windows))
+ (adob/undim-all-windows))
(defun turn-on-auto-dim-other-buffers ()
(interactive)
(setq adob/last-buffer nil)
+ (adob/dim-all-windows)
(add-hook 'pre-command-hook 'adob/pre-command-hook)
(add-hook 'post-command-hook 'adob/post-command-hook))
- [nongnu] branch elpa/auto-dim-other-buffers created (now 33b5f88b79), ELPA Syncer, 2022/12/12
- [nongnu] elpa/auto-dim-other-buffers 890051374f 01/82: first, ELPA Syncer, 2022/12/12
- [nongnu] elpa/auto-dim-other-buffers 16db9f4942 06/82: MUCH more efficient: only changes faces for 2 buffers max, and only when necessary,
ELPA Syncer <=
- [nongnu] elpa/auto-dim-other-buffers e7fcc5336c 13/82: less ceremonial readme?, ELPA Syncer, 2022/12/12
- [nongnu] elpa/auto-dim-other-buffers 6804fde17b 11/82: screenshot, ELPA Syncer, 2022/12/12
- [nongnu] elpa/auto-dim-other-buffers fb7ea24922 26/82: dimming/undimming when gaining/losing app focus, ELPA Syncer, 2022/12/12
- [nongnu] elpa/auto-dim-other-buffers e64bdbdb0a 34/82: Use `face-remap-add-relative' to not interfere with `buffer-face-mode', ELPA Syncer, 2022/12/12
- [nongnu] elpa/auto-dim-other-buffers 6ebff3681f 46/82: Don’t dim already dimmed buffer, ELPA Syncer, 2022/12/12
- [nongnu] elpa/auto-dim-other-buffers e85510688d 19/82: duh, ELPA Syncer, 2022/12/12
- [nongnu] elpa/auto-dim-other-buffers c80b367dd0 22/82: Leave echo area alone, ELPA Syncer, 2022/12/12
- [nongnu] elpa/auto-dim-other-buffers bea02696f0 21/82: Use save-current-buffer and with-current-buffer, ELPA Syncer, 2022/12/12
- [nongnu] elpa/auto-dim-other-buffers a969ff4e0e 16/82: minor mode, ELPA Syncer, 2022/12/12
- [nongnu] elpa/auto-dim-other-buffers cfab476572 36/82: Move hooks adding/removing to separate function, ELPA Syncer, 2022/12/12