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

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

[elpa] externals/pyim d5d30f4 1/2: Do not stop daemon when pyim deactive


From: ELPA Syncer
Subject: [elpa] externals/pyim d5d30f4 1/2: Do not stop daemon when pyim deactive.
Date: Mon, 5 Jul 2021 21:57:13 -0400 (EDT)

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

    Do not stop daemon when pyim deactive.
    
        * pyim.el (pyim-inactivate): Do not stop daemon.
    
        * pyim-indicator.el (pyim-indicator-stop-daemon): Use 
pyim-indicator-revert-cursor-color.
        (pyim-indicator-daemon-function): When current-input-method is not 
pyim. revert cursor color.
        (pyim-indicator-revert-cursor-color): New function.
---
 pyim-indicator.el | 23 +++++++++++++++--------
 pyim.el           |  1 -
 2 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/pyim-indicator.el b/pyim-indicator.el
index f079ee3..1be6f24 100644
--- a/pyim-indicator.el
+++ b/pyim-indicator.el
@@ -78,17 +78,24 @@ Indicator 用于显示输入法当前输入状态(英文还是中文)。"
   (interactive)
   (when (timerp pyim-indicator-timer)
     (cancel-timer pyim-indicator-timer))
-  (when pyim-indicator-original-cursor-color
-    (set-cursor-color pyim-indicator-original-cursor-color)))
+  (pyim-indicator-revert-cursor-color))
 
 (defun pyim-indicator-daemon-function (func)
   "`pyim-indicator-daemon' 内部使用的函数。"
-  (when (equal current-input-method "pyim")
-    (ignore-errors
-      (let ((chinese-input-p
-             (and (functionp func)
-                  (funcall func))))
-        (funcall pyim-indicator chinese-input-p)))))
+  (if (equal current-input-method "pyim")
+      (ignore-errors
+        (let ((chinese-input-p
+               (and (functionp func)
+                    (funcall func))))
+          (funcall pyim-indicator chinese-input-p)))
+    ;; 大多数情况是因为用户切换 buffer, 新 buffer 中
+    ;; pyim 没有启动,重置 cursor 颜色。
+    (pyim-indicator-revert-cursor-color)))
+
+(defun pyim-indicator-revert-cursor-color ()
+  "将 cursor 颜色重置到 pyim 启动之前的状态。"
+  (when pyim-indicator-original-cursor-color
+    (set-cursor-color pyim-indicator-original-cursor-color)))
 
 (defun pyim-indicator-default (chinese-input-p)
   "Pyim 默认使用的 indicator, 主要通过光标颜色和 mode-line 来显示输入状态。"
diff --git a/pyim.el b/pyim.el
index 2a14873..b2c7122 100644
--- a/pyim.el
+++ b/pyim.el
@@ -610,7 +610,6 @@ FILE 的格式与 `pyim-dcache-export' 生成的文件格式相同,
   "取消 pyim 的激活状态."
   (interactive)
   (pyim-kill-local-variables)
-  (pyim-process-stop-daemon)
   (run-hooks 'pyim-inactive-hook))
 
 ;; ** 中英文输入模式切换



reply via email to

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