pyim 最近的一些更新, 遇到问题的同学请及时反馈

或许我应该把标点也转到rime处理

pyim的候选是使用的posframe我记得,posframe的性能上有什么使用技巧吗?我自己用posframe展示候选就感觉很慢。

不要删除posframe,只隐藏

自动上屏要怎么设置? pyim, posframe, liberime 已经是最新版本了。

自动上屏是针对形码的输入法的。你是用五笔吗?

把rime设置为自动上屏就可以了

rime已经设置了 auto_select, 是不是拼音输入法不支持上屏?

我用的是拼音输入法,不是五笔输入法。

你可以给拼音写一个上屏规则函数,想怎么上屏就怎么上屏

我要怎么正确的更新posframe的位置呢,我感觉之接show的时候,位置要变的话也会很慢。我还不清楚有没有可能是窗口管理器的问题。

什么系统?什么窗口管理器?

你是怎么做到的 分享一下

代码在这里:

Linux, i3wm。也许i3有窗口的一些控制机制,我试了下我的emacs dump之后完整的启动时间i3wm是0.7s,bspwm是0.35s。估计这个0.3s是被i3用掉了,用posframe的时候也会有这么个时间。

liberime提了个PR。

应该可以简化很多问题。

报告:用 pyim 里自带的五笔,更新后不能选择词条,直接默认第一个上屏了

试试这个行不行,直接 eval

(defun pyim-autoselector-xingma (&rest args)
  "适用于型码输入法的自动上屏器.

比如:五笔等型码输入法,重码率很低,90%以上的情况都是选择第一个词
条,自动选择可以减少按空格强制选词的机会。"
  (let* ((scheme-name (pyim-scheme-name))
         (class (pyim-scheme-get-option scheme-name :class))
         (n (pyim-scheme-get-option scheme-name :code-split-length)))
    (when (eq class 'xingma)
      (cond
       ((and (= (length (pyim-entered-get)) n)
             (= (length pyim-candidates) 1))
        '(:select current))
       ((> (length (pyim-entered-get)) n)
        '(:select last))
       (t nil)))))

感觉 pyim 这两个方面可以改进:

  1. 没有上屏之前,记录用户确认的字:一次性的把待翻译拼音发送给 liberime 的最大不方便就是用户中途修改,已经确认的部分还要重复确认,现在假设用户要输 王七蛋 ,输入 wangqida 选“王”, 发现少了个n, 补上后又要选一次“王”。
  2. 统一词库格式为 rime 的,那样其他的拼音方案都没有存在的必要了。

我试了一下,好像不需要补选

1 个赞

这个没必要,pyim就支持几个常用的输入法,把格式搞得那么复杂我感觉得不偿失