Emacs 支持像素滚动了

pgtk 给 MacOS 带来什么新特性吗?简单搜了一下,能找到的多数是讲 Linux 的。

和非 Linux 平台没关系

pgtk 除了支持 wayland 真的没啥特性,macOS 上也不能使用,还是建议用 NS port

:+1:多谢大佬。在 Windows 和 Mac 上更新到最新版本,都可以正常在非激活的buffer上像素滚动了。

请问一下是否应该在 pixel-scroll-uppixel-scroll-down 里面调用一下 run-window-scroll-functions ?我在用 yascroll 依赖于这个 function 来显示滚动条,但是在开启 像素滚动 之后用鼠标滚动的时候 yascroll 没有把 scroll-bar 显示出来。

run-window-scroll-functions 太慢,像素滚动时不能容忍。 不过未来可能会提供单独的 hook,yascroll 等包裹可以调用。

(顺便说一下 pixel-scroll-up 和 pixel-scroll-down 与 pixel-scroll-precision-mode 无关,后者的核心逻辑在 pixel-scroll-precision-scroll-up-page 和 pixel-scroll-precision-scroll-down-page 这两个函数中)

1 个赞

今天才看到这个插件。用mac测试了下,good-scroll一开风扇就狂转,吓得我直接删了 :joy:

mac上不需要,用mos或者smoothscroll之类的系统级软件就行了,其他平台用good-scroll。

我在 macOS 上用的像素滚动(MBP的触摸板),发现会和 vertico-mode 有冲突。在vertico-mode 启用时,没法对非激活的 buffer 进行像素滚动。

@oldofan 大佬那边也没法复现。不知道大家有没有遇到类似情况?

重现步骤:

  1. 在终端中执行 emacs -q 启动 Emacs
  2. 安装 vertico 并启用 vertico-mode 和 pixel-scroll-precision-mode

M-x package-refresh-contents

(package-install 'vertico)
(pixel-scroll-precision-mode t)
(vertico-mode 1)
  1. 任意创建2个 buffer,通过触摸板滚动非激活的buffer

问了 vertico 的作者,也还没找到问题:

试了试mos好像没效果。org mode插入的大图还是只能完整出现在屏幕里,不能平滑滚过。用的默认设置,可能是我弄错了

我遇到一个小问题:

当 evil 处于 normal 模式,光标在某个空行的时候,会一定概率出现无法滑动,或者滑动过猛,或者反复滑动到同一个位置到情况。

Kapture 2023-07-26 at 13.27.36

简单看了一下,似乎是和 evil-normal-post-command 里面的 evil-adjust-cursor 有关,(setq evil-move-beyond-eol t) 之后 bug 就消失了。

这是无法滑动时的 CPU profile:

4 个赞

我怀疑是 evil-refresh-cursor 的问题。。。select-window 这种 C 函数不应该受到 advice,这样做的话没法保证 pixel-scroll-precision-mode 正常运行。

我以为我鼠标不支持的, 上网搜了一下, 发现下载个软件就好了:

https://www.smoothscroll.net/win/

1 个赞

不行啊,滚了一屏会卡住

不懂诶, 我这边很丝滑啊 https://github.com/shynur/.emacs.d#-demo