Emacs 支持像素滚动了

没用,tree-sitter感觉为时尚早。。。

mac port 的像素滚动还没我做的好,不能滚动过多行 overlay 和 display string,使用鼠标可能也会存在同样的问题

而且 mac port 的像素滚动是通过改变 redisplay_window 的 force_start 来实现的,理论上就不可靠,我本来想用 mac port 的代码实现像素滚动,结果发现 hack 太多,所以才自己动手写。

mac port 也不是特殊为苹果系统优化的版本,是 Emacs 23 之前的官方版 Carbon Emacs,在 Emacs 23 被 NS port 替代后被维护者独自维护而已。使用的是 Mac OS 9 时代的落后 API,现在基本上被淘汰了。

1 个赞

(但是它没有滚动图片的问题

我已经试了 mac port,超出窗口大小的图片也滚不动。

1 个赞

我这里并无问题。用的设置如下,主要是解決默认滾动速度太快的问題。

(setq scroll-preserve-screen-position t
      scroll-margin 0
      scroll-conservatively 97)

a

3 个赞

可以试试在 eww 中用很大的窗口打开 gnu.org,等图片加载完毕后缩小窗口,再滚动里面的大图像吗?

您这个例子滚动时,图像的 vscroll 没有达到 0,可以直接减少 vscroll 来上下移动,这个 pixel-scroll-precision-mode 也可以。

对了,屏幕录像怎么上传啊,限制真的是 4096 KB 吗

我有点懂你的意思了,但这个真的不是因为本身窗口和行高的比例太小,因为光标不能越出显示范围的逻辑才不能滾动吗?把 scroll-margin 调大到显示行数一半左右的话不用把窗口调到小于图片也能出现滾不动的情况。

其实把字体按缩小的话,就可以解決了,当然这个做法没实际作用。

我是用 ffmpeg 压成 gif 的。

ffmpeg -i out.mp4 -filter_complex "[0:v] fps=12,scale=480:-1,split [a][b];[a] palettegen [p];[b][p] paletteuse" -f gif a.gif

可以尝试一下把 `make-cursor-line-fully-visible’ 设置为 nil 之后还有图像向下滚动问题吗?谢谢

是的,这样就向下还有向上似乎都没有问題了。

m1 的 tree-sitter 要自己编译(可用

我在 windows 下面的 wsl 试了一下,直接用命令 pixel-scroll-precision-scroll-down 可以像素滚动。但鼠标和触控板不行,怎么知道自己的鼠标支不支持像素滚动呢?我用的是罗技的 master2s

我用的也是 master2s 但是可以啊,只不过是在 mac 上

老哥有成功的安装方法或者脚本吗,我试了几次总是失败

这位不是老哥 :rofl:

WSL 下 XInput 2 有问题,我没办法修复,可以调节 `x-scroll-event-delta-factor’ 绕过

你好,我发现在 X 下,将某按键绑定到 xdotool key Caps_Lock 命令(模拟大写锁定键),按下该键会导致键盘布局复位为 qwerty。 比如这是我在 awesomewm 下的相关配置:

awful.key({}, "KP_Equal", 
  function() 
    awful.spawn("xdotool key Caps_Lock") 
  end
)

似乎是和这个 commit 有关?

如果和该主题无关请忽略我。

可以 report-emacs-bug 吗?谢谢

这个值我设大设小好像都没有什么影响,主要的问题还是上下滑动的时候图片是整个跳过的,而不是一部分一部分向下滑的。如果是 wsl 的问题的话就确实没办法了hh