[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/pyim 10af0e5: * pyim-page.el (pyim-page-refresh): 不再 m
From: |
ELPA Syncer |
Subject: |
[elpa] externals/pyim 10af0e5: * pyim-page.el (pyim-page-refresh): 不再 minibuffer 中使用 posframe, 可靠性不太好。 |
Date: |
Thu, 2 Dec 2021 06:57:36 -0500 (EST) |
branch: externals/pyim
commit 10af0e57df3ffd15305d4ec4abb5770a8ba14e50
Author: Feng Shu <tumashu@163.com>
Commit: Feng Shu <tumashu@163.com>
* pyim-page.el (pyim-page-refresh): 不再 minibuffer 中使用 posframe, 可靠性不太好。
---
pyim-page.el | 50 ++++++++++++++++++++++----------------------------
1 file changed, 22 insertions(+), 28 deletions(-)
diff --git a/pyim-page.el b/pyim-page.el
index d91e56e..b6d29d6 100644
--- a/pyim-page.el
+++ b/pyim-page.el
@@ -183,8 +183,9 @@ page 的概念,比如,上面的 “nihao” 的 *待选词列表* 就可以
:candidates 关键字对应的位置,这个 hastable 最终会做为参数传递
给 `pyim-page-style' 相关的函数,用于生成用于在选词框中显示的
字符串。"
- (let* ((end (pyim-page-end))
+ (let* ((message-log-max nil)
(start (1- (pyim-page-start)))
+ (end (pyim-page-end))
(candidates pyim-candidates)
(candidate-showed
(mapcar (lambda (x)
@@ -203,33 +204,26 @@ page 的概念,比如,上面的 “nihao” 的 *待选词列表* 就可以
;; Show page.
(when (and (null unread-command-events)
(null unread-post-input-method-events))
- (let ((message-log-max nil))
- (cond
- ((and (eq (selected-window) (minibuffer-window))
- ;; posframe 可以用到 minibuffer 中,效果良好,popup 效果不好,
- ;; 会导致 minibuffer 莫名其妙的变大。
- (not (and (eq pyim-page-tooltip 'posframe)
- (functionp 'posframe-workable-p)
- (posframe-workable-p))))
- ;; 在 minibuffer 中输入中文时,使用当前输入的
- ;; 下一行来显示候选词。
- (pyim-page-minibuffer-message
- (concat pyim-page-minibuffer-separator
- (pyim-page-style:minibuffer page-info))))
- ((pyim-probe-exwm-environment)
- ;; when exwm-xim is used, page should be showed
- ;; in minibuffer.
- (message (pyim-page-style:exwm page-info)))
- ;; 在普通 buffer 中输入中文时,使用 `pyim-page-tooltip'
- ;; 指定的方式来显示候选词。
- (pyim-page-tooltip
- (pyim-page-tooltip-show
- (let ((func (intern (format "pyim-page-style:%S" pyim-page-style))))
- (if (functionp func)
- (funcall func page-info)
- (pyim-page-style:two-lines page-info)))
- (overlay-start pyim-preview-overlay)))
- (t (message (pyim-page-style:minibuffer page-info))))))))
+ (cond
+ ;; 在 minibuffer 中输入中文时,默认使用当前输入行来显示候选词。以前在
+ ;; minibuffer 中试用过 posframe, 在 linux 环境下,运行还不错,但在
+ ;; windows 环境下,似乎有很严重的性能问题,原因未知。
+ ((eq (selected-window) (minibuffer-window))
+ (pyim-page-minibuffer-message
+ (concat pyim-page-minibuffer-separator
+ (pyim-page-style:minibuffer page-info))))
+ ;; 在 exwm 环境下使用 exwm-xim 输入中文时,使用 minibuffer 来显示 page。
+ ((pyim-probe-exwm-environment)
+ (message (pyim-page-style:exwm page-info)))
+ ;; 普通 buffer 中,使用 `pyim-page-tooltip' 指定的方式显示候选词。
+ (pyim-page-tooltip
+ (pyim-page-tooltip-show
+ (let ((func (intern (format "pyim-page-style:%S" pyim-page-style))))
+ (if (functionp func)
+ (funcall func page-info)
+ (pyim-page-style:two-lines page-info)))
+ (overlay-start pyim-preview-overlay)))
+ (t (message (pyim-page-style:minibuffer page-info)))))))
(declare-function pyim-process-terminate "pyim-process")
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/pyim 10af0e5: * pyim-page.el (pyim-page-refresh): 不再 minibuffer 中使用 posframe, 可靠性不太好。,
ELPA Syncer <=