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

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

[elpa] externals/pyim ece38b4 2/6: * pyim-indicator.el (pyim-indicator-d


From: ELPA Syncer
Subject: [elpa] externals/pyim ece38b4 2/6: * pyim-indicator.el (pyim-indicator-daemon-function): Run force-mode-line-update when necessory.
Date: Mon, 5 Jul 2021 02:57:15 -0400 (EDT)

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

    * pyim-indicator.el (pyim-indicator-daemon-function): Run 
force-mode-line-update when necessory.
---
 pyim-indicator.el | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/pyim-indicator.el b/pyim-indicator.el
index 4ddbaf8..7f0c9c7 100644
--- a/pyim-indicator.el
+++ b/pyim-indicator.el
@@ -45,7 +45,7 @@ Indicator 用于显示输入法当前输入状态(英文还是中文)。"
 这个变量的取值是一个list: (中文输入时的颜色 英文输入时的颜色), 如
 果英文输入时的颜色为 nil, 则使用默认 cursor 颜色。")
 
-(defvar pyim-indicator-modeline-string (list "PYIM " "PYIM-EN ")
+(defvar pyim-indicator-modeline-string (list "PYIM-C " "PYIM-E ")
   "`pyim-indicator-default' 使用的 modeline 字符串。
 
 这个变量的取值是一个list:
@@ -60,6 +60,9 @@ Indicator 用于显示输入法当前输入状态(英文还是中文)。"
 
 (defvar pyim-indicator-timer-repeat 0.2)
 
+(defvar pyim-indicator-last-input-method-title nil
+  "记录上一次 `current-input-method-title' 的取值。")
+
 (defun pyim-indicator-daemon (func)
   "Indicator daemon, 用于实时显示输入法当前输入状态。"
   (unless pyim-indicator-original-cursor-color
@@ -83,7 +86,11 @@ Indicator 用于显示输入法当前输入状态(英文还是中文)。"
          (and (functionp func)
               (funcall func))))
     (funcall pyim-indicator chinese-input-p)
-    (force-mode-line-update)))
+    (unless (eq pyim-indicator-last-input-method-title
+                current-input-method-title)
+      (force-mode-line-update)
+      (setq pyim-indicator-last-input-method-title
+            current-input-method-title))))
 
 (defun pyim-indicator-default (chinese-input-p)
   "Pyim 默认使用的 indicator, 主要通过光标颜色和 mode-line 来显示输入状态。"



reply via email to

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