[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/pyim 6297dd3 1/2: pyim-indicator-default: use default c
From: |
ELPA Syncer |
Subject: |
[elpa] externals/pyim 6297dd3 1/2: pyim-indicator-default: use default cursor color if possible. |
Date: |
Sun, 4 Jul 2021 23:57:12 -0400 (EDT) |
branch: externals/pyim
commit 6297dd334736310b0161e465b0e63ade9dfd2f09
Author: Feng Shu <tumashu@163.com>
Commit: Feng Shu <tumashu@163.com>
pyim-indicator-default: use default cursor color if possible.
* pyim-indicator.el (pyim-indicator-cursor-color)
(pyim-indicator-modeline-string, pyim-indicator-daemon)
(pyim-indicator-default): use default cursor color if possible.
---
pyim-indicator.el | 29 ++++++++++++++++++++++-------
1 file changed, 22 insertions(+), 7 deletions(-)
diff --git a/pyim-indicator.el b/pyim-indicator.el
index 3b2dc66..4e23dfd 100644
--- a/pyim-indicator.el
+++ b/pyim-indicator.el
@@ -39,11 +39,21 @@
Indicator 用于显示输入法当前输入状态(英文还是中文)。"
:type 'function)
-(defvar pyim-indicator-cursor-color (list "white" "green")
- "`pyim-indicator-default' 使用的 cursor 颜色。")
+(defvar pyim-indicator-cursor-color (list "green")
+ "`pyim-indicator-default' 使用的 cursor 颜色。
+
+这个变量的取值是一个list: (中文输入时的颜色 英文输入时的颜色), 如
+果英文输入时的颜色为 nil, 则使用默认 cursor 颜色。")
(defvar pyim-indicator-modeline-string (list "PYIM " "PYIM-EN ")
- "`pyim-indicator-default' 使用的 modeline 字符串。")
+ "`pyim-indicator-default' 使用的 modeline 字符串。
+
+这个变量的取值是一个list:
+
+ (中文输入时显示的字符串 英文输入时显示的字符串)。")
+
+(defvar pyim-indicator-original-cursor-color nil
+ "记录 cursor 的原始颜色。")
(defvar pyim-indicator-timer nil
"`pyim-indicator-daemon' 使用的 timer.")
@@ -52,6 +62,9 @@ Indicator 用于显示输入法当前输入状态(英文还是中文)。"
(defun pyim-indicator-daemon (func)
"Indicator daemon, 用于实时显示输入法当前输入状态。"
+ (unless pyim-indicator-original-cursor-color
+ (setq pyim-indicator-original-cursor-color
+ (face-attribute 'cursor :background)))
(pyim-indicator-daemon-stop)
(setq pyim-indicator-timer
(run-with-timer
@@ -75,10 +88,12 @@ Indicator 用于显示输入法当前输入状态(英文还是中文)。"
"Pyim 默认使用的 indicator, 主要通过光标颜色和 mode-line 来显示输入状态。"
(if chinese-input-p
(progn
- (setq current-input-method-title (nth 1
pyim-indicator-modeline-string))
- (set-cursor-color (nth 1 pyim-indicator-cursor-color)))
- (setq current-input-method-title (nth 0 pyim-indicator-modeline-string))
- (set-cursor-color (nth 0 pyim-indicator-cursor-color))))
+ (setq current-input-method-title (nth 0
pyim-indicator-modeline-string))
+ (set-cursor-color (nth 0 pyim-indicator-cursor-color)))
+ (setq current-input-method-title (nth 1 pyim-indicator-modeline-string))
+ (set-cursor-color
+ (or (nth 1 pyim-indicator-cursor-color)
+ pyim-indicator-original-cursor-color))))
;; * Footer
(provide 'pyim-indicator)