[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/keycast 860b0781a4 05/10: keycast-mode-line-mode: Support
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/keycast 860b0781a4 05/10: keycast-mode-line-mode: Support atomic and void global mode-line-format |
Date: |
Mon, 5 Dec 2022 06:59:11 -0500 (EST) |
branch: elpa/keycast
commit 860b0781a44b370ba5b41a80e838486325a89681
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>
keycast-mode-line-mode: Support atomic and void global mode-line-format
When normally not using a mode-line (e.g., because the header-line is
used for that purpose), but the mode-line is used for keycast, then
`keycast-mode-line-insert-after' additionally has to be set to "".
---
keycast.el | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/keycast.el b/keycast.el
index 53c79621f6..ff8850f8e5 100644
--- a/keycast.el
+++ b/keycast.el
@@ -392,6 +392,7 @@ t to show the actual COMMAND, or a symbol to be shown
instead."
;;; Mode-Line
(defvar keycast--removed-tail nil)
+(defvar keycast--temporary-mode-line nil)
(defalias 'keycast-mode 'keycast-mode-line-mode)
@@ -401,6 +402,11 @@ t to show the actual COMMAND, or a symbol to be shown
instead."
:global t
(cond
(keycast-mode-line-mode
+ (cond ((not (default-value 'mode-line-format))
+ (setq keycast--temporary-mode-line t)
+ (setq-default mode-line-format (list "")))
+ ((keycast--format-atom-p mode-line-format)
+ (setq-default mode-line-format (list "" mode-line-format))))
(let ((cons (keycast--tree-member keycast-mode-line-insert-after
(default-value 'mode-line-format))))
(unless cons
@@ -419,13 +425,16 @@ t to show the actual COMMAND, or a symbol to be shown
instead."
(t
(let ((cons (keycast--tree-member 'keycast-mode-line
(default-value 'mode-line-format))))
- (cond (keycast--removed-tail
+ (cond (keycast--temporary-mode-line
+ (setq-default mode-line-format nil)
+ (setq keycast--temporary-mode-line nil))
+ (keycast--removed-tail
(setcar cons (car keycast--removed-tail))
- (setcdr cons (cdr keycast--removed-tail)))
+ (setcdr cons (cdr keycast--removed-tail))
+ (setq keycast--removed-tail nil))
(t
(setcar cons (cadr cons))
(setcdr cons (cddr cons)))))
- (setq keycast--removed-tail nil)
(unless (keycast--mode-active-p)
(remove-hook 'post-command-hook #'keycast--update)
(remove-hook 'minibuffer-exit-hook #'keycast--minibuffer-exit)))))
- [nongnu] elpa/keycast updated (92a14313fe -> 53514c3dc3), ELPA Syncer, 2022/12/05
- [nongnu] elpa/keycast 36d7bfa75f 09/10: keycast-header-line-mode: New mode, ELPA Syncer, 2022/12/05
- [nongnu] elpa/keycast 81bad0faa8 08/10: keycast--tree-member: Move definition, ELPA Syncer, 2022/12/05
- [nongnu] elpa/keycast 860b0781a4 05/10: keycast-mode-line-mode: Support atomic and void global mode-line-format,
ELPA Syncer <=
- [nongnu] elpa/keycast 1c92a5daf5 02/10: Rename keycast-mode to keycast-mode-line-mode, ELPA Syncer, 2022/12/05
- [nongnu] elpa/keycast f87f9c965e 06/10: keycast-mode-line-mode: Support buffers with local mode-line-format, ELPA Syncer, 2022/12/05
- [nongnu] elpa/keycast 3df44bd9e7 04/10: keycast-mode-line-mode: Make sure to modify global mode-line-format, ELPA Syncer, 2022/12/05
- [nongnu] elpa/keycast 53514c3dc3 10/10: Update documentation, ELPA Syncer, 2022/12/05
- [nongnu] elpa/keycast 31446ad19c 01/10: Split Options section into subsections, ELPA Syncer, 2022/12/05
- [nongnu] elpa/keycast 3367c7d375 07/10: keycast--removed-tail: Rename to keycast--header-line-removed-tail, ELPA Syncer, 2022/12/05
- [nongnu] elpa/keycast 38a09aa5e3 03/10: keycast-mode-line-mode: Cosmetics, ELPA Syncer, 2022/12/05