Emacs 支持像素滚动了

是啊,可以通过改变 `display-line-numbers-width’ 绕过这个问题

1 个赞

org 中包含图片的情况下,不知道是否是这样的效果(gif 9.4MB)? t

因为可能我的鼠标不支持(鼠标和触控板都不行),所以我用如下方法,按 f8 测试的 :joy:

(defun w/test ()
  (interactive)
  (pixel-scroll-precision-scroll-down 15))

(global-set-key (kbd "<f8>") #'w/test)

是这样的,不过滚动那么大的图片时可能会遇到暂未解决的 bug

better-pixel-scroll-mode 在最新的emacs 里面去掉了么,没有这个命令了诶

见第一帖,应该变更了名字。

1 个赞

pixel-scroll-precision-mode

1 个赞

在macOS上体验很好。不知道Emacs什么时候能支持滚动的时候光标在可视范围之外(而不是跟着滑动顶部或底部走)

还发现一个问题(NS,不清楚其他平台有没有):如果滚动到底部(或顶部)然后继续滚动,系统会持续发出声音,关掉pixel-scroll-precision-mode没有这个问题

请试试 master,看看是否修复了这个问题

macos可以直接用emacs-mac,,,自带像素滚动,目前感觉好像没啥问题,楼主这个滚动一些图片会有问题,听说还在修复,, emacs-mac支持像素滚动,手势,跟随系统主题,删除了没用的选项等等针对mac的优化,感觉慢好用的。。。我用的mbp m1 2020感觉很丝滑

你用tree-sitter嘛,我现在m1又搞不成这个了,只能用自己带的高亮,lazycat大佬的新配置我也用不了

没用,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