pgtk分支被合并了

有没有人能介绍下pgtk什么是 ,有什么优点, 解决了什么问题。

在 macOS 能用吗?有什么好处吗?

我了解到的是针对 wayland 有好处,不知道是不是这样?

最明显的优点就是Wayland可以用emacs了,还有一些bug修复平时感觉不到

Pure GTK

https://deathwish.info/2020/08/01/pgtk-nativecomp/

对 macOS 无影响

翻了下 mailing list 发现

we should at least remove support for the no-toolkit

廿,不要啊。

3 个赞

廿,不要啊。

别担心,不会去除 no toolkit

--with-pgtk编译了一下,4k分辨率走wslg完美显示。

5 个赞

wslg可以用windows系统的中文输入法吗?

我目前在wsl2下用emacs-rime,没遇见啥问题。

那挺完美, 以前xming之类的, 不能用windows的系统输入法, 只能输入英文, 超级不方便.

看来最好的linux桌面环境是windows.

目前也无法使用Windows桌面的输入法,但是可以利用emacs-rime同步WSL2与Windows下的rime词库,曲线救国了。

原来如此///

你是eaf用户吗?wslg下面能用吗?

pgtk 能像素级滚动吗?

可以的,合并前不久就能了

关键是wslg要用win11。windows11升级后会占cpu吗,现在稳定不

这也太棒了吧

@oldosfan 大佬,请教一个问题,用 pgtk 好像遇到了一个我不知道算不算 bug 的 bug,有一个插件叫作 key-chord,可以将快速按下的两个键绑定到一个命令上去。

现在将df绑定成 key-chord,在输入法开启的情况下,输入 d,原版的 Emacs 是可以直接上屏的,而 pgtk 版本的 Emacs 虽然已经输入到了 Emacs 中,但是并没有显示出来,这个时候随便输入点东西,或者移动下光标才会显示出来。不影响使用,主要是用着不舒服,这个有办法解决吗?

系统是 debian 10 + gnome 3.38,输入法是 fcitx5-rime

下面这是一个精简版的 key-chord,可以模拟出 key-chordpgtk 上的问题。

(setq input-method-function
     ;;"FIRST-CHAR 为每次输入时字符."
      (lambda (first-char)
        (if (and (memq first-char '(?d ?f))
                 (not (sit-for 0.05 'no-redisplay)))
            (let* ((input-method-function nil)
                   (next-char (read-event)))
              (if (and (memq next-char '(?d ?f))
                       (not (eq first-char next-char)))
                  (list 'key-chord ?d ?f)
                ;; 吐出 (read-event) 吞掉的字符
                (push next-char unread-command-events)
                (list first-char)))
          (list first-char))))

截图:pgtk 版本,以 emacs -Q 的方式打开 Emacs,在输入法打开的情况下输入 d,按回车,没有问题,执行上面的代码,再次输入 d,按回车,什么都没有,移动光标,之前输入的 d 显示出来:

pgtk

截图:gtk 版本,以 emacs -Q 的方式打开 Emacs,在输入法打开的情况下输入 d,按回车,没有问题,执行上面的代码,再次输入 d,按回车,依旧没有什么问题:

gtk

您可以尝试一下运行 `(pgtk-use-im-context nil)’ 后还会出现这个问题吗?我怀疑又是 GTK 输入法系统在捣鬼,真没法解决。

还有可能是 preedit text event 导致的问题,这种情况下需要教 key-chord 忽略 `pgtk-preedit-text’ 这种 event

1 个赞

谢谢,好像直接没法使用输入法了

还可以尝试让 key-chord 的 input-method-function 忽略 pgtk-preedit-text 这种 event