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

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

[elpa] externals/pyim 64bba62 1/2: Add pyim-process-start/stop-daemon.


From: ELPA Syncer
Subject: [elpa] externals/pyim 64bba62 1/2: Add pyim-process-start/stop-daemon.
Date: Mon, 5 Jul 2021 20:57:13 -0400 (EDT)

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

    Add pyim-process-start/stop-daemon.
    
        * pyim-indicator.el (pyim-indicator-daemon): do not call 
pyim-indicator-daemon-stop.
        (pyim-indicator-daemon-stop): revert cursor color.
    
        * pyim-process.el (pyim-process-start-daemon)
        (pyim-process-stop-daemon): New functions.
    
        * pyim.el (pyim-active): use pyim-process-start-daemon.
        (pyim-inactivate): Use pyim-process-stop-daemon.
---
 pyim-indicator.el | 5 +++--
 pyim-process.el   | 9 ++++++++-
 pyim.el           | 4 ++++
 3 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/pyim-indicator.el b/pyim-indicator.el
index 2c54774..07eb677 100644
--- a/pyim-indicator.el
+++ b/pyim-indicator.el
@@ -68,7 +68,6 @@ Indicator 用于显示输入法当前输入状态(英文还是中文)。"
   (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
          nil pyim-indicator-timer-repeat
@@ -78,7 +77,9 @@ Indicator 用于显示输入法当前输入状态(英文还是中文)。"
   "Stop indicator daemon."
   (interactive)
   (when (timerp pyim-indicator-timer)
-    (cancel-timer pyim-indicator-timer)))
+    (cancel-timer pyim-indicator-timer))
+  (when pyim-indicator-original-cursor-color
+    (set-cursor-color pyim-indicator-original-cursor-color)))
 
 (defun pyim-indicator-daemon-function (func)
   "`pyim-indicator-daemon' 内部使用的函数。"
diff --git a/pyim-process.el b/pyim-process.el
index 00f3a2e..2c5943d 100644
--- a/pyim-process.el
+++ b/pyim-process.el
@@ -101,9 +101,16 @@
 
 (defun pyim-process-init-ui ()
   "PYIM 流程,用户界面相关的初始化工作。"
-  (pyim-preview-setup-overlay)
+  (pyim-preview-setup-overlay))
+
+(defun pyim-process-start-daemon ()
+  "启动 pyim 流程需要的相关 daemon."
   (pyim-indicator-daemon #'pyim-process-indicator-function))
 
+(defun pyim-process-stop-daemon ()
+  "关闭 pyim 流程已经启动的 daemon."
+  (pyim-indicator-daemon-stop))
+
 (defmacro pyim-process-with-entered-buffer (&rest forms)
   "PYIM 流程的输入保存在一个 buffer 中,使用 FORMS 处理这个 buffer
 中的信息。"
diff --git a/pyim.el b/pyim.el
index 048b24b..2a14873 100644
--- a/pyim.el
+++ b/pyim.el
@@ -247,6 +247,9 @@ pyim 使用函数 `pyim-active' 启动输入法的时候,会将变量
 会执行 `pyim-input-method' 这个函数。"
   (interactive)
 
+  ;; 启动 pyim 需要的 daemon
+  (pyim-process-start-daemon)
+
   ;; 初始化 dcache.
   (pyim-process-init-dcaches)
 
@@ -607,6 +610,7 @@ 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]