branch: externals/pyim commit 8e8e0733cb4f70b7d6ad325fb84e6a1da883e8e5 Author: Feng Shu <tuma...@163.com> Commit: Feng Shu <tuma...@163.com>
handle cursor color when user change theme. * pyim-indicator.el (pyim-indicator-original-background-color): New variable. (pyim-indicator-start-daemon): store original background color. (pyim-indicator-with-cursor-color): set cursor to blue when user change theme. --- pyim-indicator.el | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/pyim-indicator.el b/pyim-indicator.el index 23f7962..41d3e78 100644 --- a/pyim-indicator.el +++ b/pyim-indicator.el @@ -57,6 +57,9 @@ Indicator 用于显示输入法当前输入状态(英文还是中文)。" (defvar pyim-indicator-original-cursor-color nil "记录 cursor 的原始颜色。") +(defvar pyim-indicator-original-background-color nil + "记录原始的背景颜色。") + (defvar pyim-indicator-timer nil "`pyim-indicator-daemon' 使用的 timer.") @@ -69,7 +72,10 @@ Indicator 用于显示输入法当前输入状态(英文还是中文)。" "Indicator daemon, 用于实时显示输入法当前输入状态。" (unless pyim-indicator-original-cursor-color (setq pyim-indicator-original-cursor-color - (face-attribute 'cursor :background))) + (frame-parameter nil 'cursor-color))) + (unless pyim-indicator-original-background-color + (setq pyim-indicator-original-background-color + (frame-parameter nil 'background-color))) (unless (timerp pyim-indicator-timer) (setq pyim-indicator-timer (run-with-timer @@ -117,7 +123,11 @@ Indicator 用于显示输入法当前输入状态(英文还是中文)。" (set-cursor-color (nth 0 pyim-indicator-cursor-color)) (set-cursor-color (or (nth 1 pyim-indicator-cursor-color) - pyim-indicator-original-cursor-color))))) + (if (equal pyim-indicator-original-background-color + (frame-parameter nil 'background-color)) + pyim-indicator-original-cursor-color + (message "Pyim-indicator: 用户更改了背景颜色,将光标颜色设置为蓝色,便于区别。") + "blue")))))) (defun pyim-indicator-with-modeline (current-input-method chinese-input-p) "Pyim 自带的 indicator, 使用 mode-line 来显示输入状态。"