现在可以添加种子,下次启动的时候自动抓取所有种子的内容了。
还需要完成:
- 快捷键操作
- 区分未读新闻
- 完善UI细节
现在可以添加种子,下次启动的时候自动抓取所有种子的内容了。
还需要完成:
说的有道理:smile:
Emacs无法像其他现代图形库那样天然支持多线程编程,导致Emacs非常不适合做大量数据计算的工作,数据计算时间太久就会卡住Emacs。 虽然Emacs也有异步子进程编程模型,但是如果子进程返回数据太大,在主进程中处理数据的时间超过Emacs单线程中一个界面绘制的周期,也会导致卡Emacs界面。
真正的图形多线程的原理是把所有耗时的操作都放到子线程中去处理,只有数据处理完成以后才把结果发送到主线程进行绘制,这样数据计算和数据处理的工作永远不占用图形绘制主线程,所以不管多久的数据计算和大多的数据处理都不会让用户感觉到界面卡顿。
但是要让Emacs支持真正的多线程模型,那要修改的代码就太多了,不光是底层图形库的更新,还有核心绘制代码的更新,最麻烦的是多线程引入后对所有Elisp现有插件带来的巨大兼容性破坏,这些都是Emacs的历史包袱,已经很难再对Emacs进行大手术了。
最新版EAF已经内置了RSS Reader, 利用PyQt的QThread,RSS Reader所有耗时的抓取种子工作都在后台子线程中运行,不管多慢的网络还是多大的新闻数据都不会卡Emacs一毫秒。
看新闻的基本功能已经完全没有问题了,相对于Emacs现有其他新闻阅读器除了优秀的性能外,对新闻网页的渲染也是其他新闻阅读器无法媲美的。
现在已经支持如下操作:
还有一些产品细节需要社区开发者一起协助开发:
EAF是一种新型的Emacs应用框架,可以让你用Python和Qt5无限扩展Emacs的多媒体功能的同时又保留Emacs原汁原味的Elisp黑客文化。
RSS Reader只是给大家演示一种可能性,EAF不仅仅是对Emacs网页浏览和PDF阅读功能的扩展,EAF可以开发任何你想开发的多媒体应用扩展,唯一的限制就是你的想象力。
不知道现在的浏览器是怎么做的, 不同的页面在不同的进程里渲染, 最后显示在同一个主窗口里. 有没有人研究过?
worker还是子进程,不是真正的多线程
是真正的多线程啊, 里面运行一个while(1);不会卡住界面
Archlinux xfce4 不能使用 无论打开什么文件,都是 [EAF] eaf aborted (core dumped)
看看 eaf 显示啥
其实就是 EAF 用的 XReparent 技术
多亏懒猫,现在EAF支持emacs27引入的xdg配置路线了
有人尝试过在WSL上使用EAF吗?
Finish delete feed operation. · emacs-eaf/emacs-application-framework@6ee3414 · GitHub 删除订阅的操作已经支持了。
所有按键可以在 Home · emacs-eaf/emacs-application-framework Wiki · GitHub 查询到
Add scroll operations in rss reader. · emacs-eaf/emacs-application-framework@317c966 · GitHub 补丁后,RSS Reader的浏览器也可以拥有和浏览器正常的滚动功能了。
Add search and open link in browser of rss reader. · emacs-eaf/emacs-application-framework@d07e445 · GitHub 现在 RSS Reader 的浏览器区域也支持搜索和Vimium的功能了。
Add read status manage. · emacs-eaf/emacs-application-framework@ebf15e0 · GitHub 这个补丁后,现在RSS Reader可以区分已读和未读的状态了。
EAF内置的PDF Viewer已经是Emacs里面性能最高的PDF阅读器。平常编程时我都用Snails来全局搜索。
如果Snails遇到EAF会发生什么美妙的化学反应呢?
那就是今天的 snails-backend-eaf-pdf-table 插件:
这在阅读文档到中间位置的时候特别有用,我们不需要回到目录页面,然后手动去查找目录的标题和页码信息,在阅读到文档的任何地方都可以快速搜索目录标题并跳转。
实现原理:
Live in Emacs又近了一步, 哈哈哈!
合并了社区开发者 Add new command eaf-open-mail-as-html · emacs-eaf/emacs-application-framework@9ddfacf · GitHub 的新补丁
现在可以在Emacs邮件客户端中调用命令 eaf-open-mail-as-html ,用EAF浏览器功能来渲染HTML的邮件内容了,支持Gnus、mu4e、notmuch。
前几天写了Snails PDF Backend支持Snails直接搜索PDF目录快速跳转。
今天用了同样的原理实现了Snails直接搜索浏览器历史的功能:
因为Snails用了fuz.el的模糊算法,所以搜索浏览器历史的模糊算法堪比Google Chrome的搜索体验。
体验这个功能需要更新EAF和Snails到最新版本。
Happy hacking!