从今天开始,Emacs里面可以运行任何你想要的程序 (Linux & Windows & Mac & BSD)

确实,我发现一些PDF不是很规范,有的页面小,有的页面大。 这不是挡住了,而是背景有黑边,数字也是黑色的,所有数字看不清楚了。

1 个赞

暂时会滚了这个补丁,暂时没有想到同时兼顾页面缩放对齐同时保持清晰的方式。 所以先保证不同页面都是同样宽的,不一样宽看着太难受了。

至于两全其美的方法,想到再看怎么调整,现在Pdf Viewer渲染逻辑还比较复杂,没有想到更好的方法。

cc @zbelial

提交了一个pr,应该既保持相同页面大小,又保持清晰。 在我这儿暂时没发现啥副作用,不过可能需要进一步测试一下。

@wenpin 如果方便,可以从懒猫仓库的pr里把改动合到你电脑上测一下看看,希望能解决你遇到的问题。

我刚刚合并后,但是我发现这个补丁还是有很大的缺点。

page_cache_pixmap_dict 这个缓存的目的就是为了加速渲染用的,特别是当你连续按 j 或者 k 滚动的时候,EAF PDF Viewer因为page_cache_pixmap_dict的原因,会最大程度的减少重新获取Pixmap渲染的工作,所以滚动会非常流畅。

你的这个PR虽然解决了清晰的问题,但是在很多情况下 page_cache_pixmap_dict 没有作用了,这个时候连续 j 或者 k 非常非常的卡。

在我的设计里,PDF滚动一定要流畅,如果不流畅,看着文档会非常不爽的,相对于Emacs现在的 pdf-tools 性能上没啥优势了,所以我暂时回滚了你的补丁。

EAF最新版的PDF Viewer已经同时做到:高清显示、不同页面大小的PDF自动缩放对齐、高性能滚动这三个要求。

感谢 @zbelial 的高质量补丁。 :+1:

3 个赞

谢谢两位。@manateelazycat @zbelial

还想请问下,pdf 有没有像网页链接一样设置成默认 eaf 打开的方法,我现在需要打开 dired, 然后 eaf-open-this-from-dired

没看懂,文件需要先下载吧

就是怎么设置 pdf 文件默认用 eaf 打开,比如在 dired 里直接回车用 eaf 打开。我现在在 dired-mode-map 给 eaf-open-this-from-dired 绑定了 keybinding, 但是这种方法不适用于 recentf 等其它的场合。

可以参考下我的配置

(when IS-LINUX
  (defun adviser-find-file (orig-fn file &rest args)
    (let ((fn (if (commandp 'eaf-open) 'eaf-open orig-fn)))
      (pcase (file-name-extension file)
        ("pdf"  (apply fn file nil))
        ("epub" (apply fn file nil))
        (_      (apply orig-fn file args)))))
  (advice-add #'find-file :around #'adviser-find-file))

5 个赞

:+1: 技能+1

这个补丁以后,在浏览器按 C-M-i 以后,可以直接把Chrome的历史导入EAF浏览器中,导入之前需要先关闭Chrome浏览器。

6 个赞

Support import bookmark from chrome by mackong · Pull Request #423 · emacs-eaf/emacs-application-framework · GitHub 这个补丁后,现在可以在浏览器中按 C-c i 导入Chrome的书签了。

2 个赞

eaf-open-terminal打开之后,无法上下翻页,大家有遇到过吗? 环境是Manjaro + Gnome 3.36 + Emacs 28.0.50 + Qt 5.15.0. 试过 emacs -Q, 也是一样的效果.

确实是问题,已经有issue了,看未来怎么解决。

提了一个PR, fix(terminal): fix unscrollable and text search by mackong · Pull Request #433 · emacs-eaf/emacs-application-framework · GitHub 。 之前是AppBuffer里面的函数比如scroll_up被BrowserView里面的覆盖了,导致无法滚动。

厉害了,赞啊!

目前EAF用下来很爽,就是网页钉钉在EAF里面的表现不好,还得开个chrome,尴尬。

用纱不好的?

在钉钉页面,想按f,去切换会话的时候,效果是这样的 image ,

这时候按某个按键,是关闭某个会话,导致没法选择会话。