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

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

[elpa] externals/pyim 380346b 1/4: Better deal with indicator cursor col


From: ELPA Syncer
Subject: [elpa] externals/pyim 380346b 1/4: Better deal with indicator cursor color.
Date: Fri, 9 Jul 2021 21:57:20 -0400 (EDT)

branch: externals/pyim
commit 380346bfc89dda76ca9fe2ddc7960f9c28be3180
Author: Feng Shu <tumashu@163.com>
Commit: Feng Shu <tumashu@163.com>

    Better deal with indicator cursor color.
    
        * pyim-indicator.el (pyim-indicator-original-background-color): 
Removed, useless.
        (pyim-indicator-start-daemon): Do not save background.
        (pyim-indicator-with-cursor-color): select a white or black color 
depend background.
---
 pyim-indicator.el | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/pyim-indicator.el b/pyim-indicator.el
index 4561199..77baed3 100644
--- a/pyim-indicator.el
+++ b/pyim-indicator.el
@@ -57,9 +57,6 @@ 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.")
 
@@ -73,9 +70,6 @@ Indicator 用于显示输入法当前输入状态(英文还是中文)。"
   (unless pyim-indicator-original-cursor-color
     (setq pyim-indicator-original-cursor-color
           (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
@@ -123,11 +117,15 @@ Indicator 用于显示输入法当前输入状态(英文还是中文)。"
         (set-cursor-color (nth 0 pyim-indicator-cursor-color))
       (set-cursor-color
        (or (nth 1 pyim-indicator-cursor-color)
-           (if (equal pyim-indicator-original-background-color
-                      (frame-parameter nil 'background-color))
-               pyim-indicator-original-cursor-color
-             (message "Pyim-indicator: 用户更改了背景颜色,将光标颜色设置为蓝色,便于区别。")
-             "blue"))))))
+           (let ((background (frame-parameter nil 'background-color))
+                 (colors (list "black" "white")))
+             (if (> (color-distance pyim-indicator-original-cursor-color 
background)
+                    (/ (color-distance "black" "white") 2))
+                 pyim-indicator-original-cursor-color
+               (car (sort colors
+                          (lambda (a b)
+                            (> (color-distance a background)
+                               (color-distance b background))))))))))))
 
 (defun pyim-indicator-with-modeline (input-method chinese-input-p)
   "Pyim 自带的 indicator, 使用 mode-line 来显示输入状态。"



reply via email to

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