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

主要是 Wayland 那帮人把很多 X11 的高级功能隐藏到窗口管理器内部, 但是又不对外暴露 API, 导致我折腾不赢他们。

hyprland是支持插件的,可以写一个插件通过钩子访问其内部函数,不知道这对于eaf对hyprland的兼用性有没有用? 不过hyprland开发文档说不建议这么做,因为他们不保证内部函数在后续更新中不会发生变化

eaf browser eval_js 的返回值能返回给 Emacs 吗?例如,我想要运行 js 来搜索页面上某个元素的值,然后让 Emacs 根据这个值进行后续的一系列操作。

英特尔款Mac,Emacs29.1

pdf-tools 有一些慢,想要使用 eaf-pdf-viewer。。但不能如愿

你如果是全屏使用,可以去看下issue,把一个窗口定位的代码删了就可以。

如果不是全屏,要拉大小,目前无解。

2 个赞

我有一个问题,我在运行过程中,总是出现buffer id ‘…’ not exist的问题,还有/org/eaf不存在,要怎么解决

看中文readme底部

我使用了clash,我把http_proxy设置成了127.0.0.1:7890,如何把EAF EPC servier 的也改成这个

EAF 的文件管理器有一个非常隐蔽的bug, 当快速搜索文件后立即按 ‘f’ 或者 ‘return’ 键, 手速太快的时候会导致整个EAF崩溃, 虽然 EAF 有 eaf-restart-process 命令可以快速恢复所有标签, 但始终是不好的体验。

尝试修复这个问题十几次了, 依然没有修好, 都快成为玄学了。 根据我的经验, 这种没有固定重现手速的bug, 一般都是子线程访问主线程GUI导致的崩溃。

直到今天早上起来, 偶然间发现崩溃的文件目录是被搜索高亮的, 猜测是否是因为EAF文件管理器为了支持 isearch 实时搜索所添加的 FetchSearchInputThread 线程代码导致的?

认真调研了一下, 果然是后续重构的时候 ,忘记给 EAF 文件管理器的 handle_search_file 信号处理函数忘记加了 PostGUI wrap

加了一个补丁, 建议EAF重度用户更新一下, 帮我测试一下是否还有这个问题, 我也再多测试几天。

有可能被我偶然修好了, 有可能这是另外一次失败的尝试…

5 个赞

我发现在 open_select_files 直接调用 change_directory 会因为搜索线程和渲染线程产生条件竞争关系, 会导致 eaf-file-manager 崩溃。

今天把 open_select_files 里面的 change_directory 换成 eval_in_emacs(“eaf-file-manager-change-directory”, [current_select_file]), 使得搜索文件名以后, 代码从 Emacs 那里绕一圈再回到 PyQt, 测试了一下午, 目前来看 eaf-file-manager 没有再发生崩溃的问题。

建议用 EAF 文件管理器的用户用 install-eaf.py 整体更新一下, 不知道是否彻底修复了。

1 个赞

这个错误的原因应该是 eaf-core 里面实现 isearch 搜索线程的销毁代码处理不当导致的。

今天推送了 Try to fix crash "QThread: Destroyed while thread is still running", … · emacs-eaf/emacs-application-framework@2eb66df · GitHub 补丁, 大家可以更新测试一下。

我再测试一下, 如果这两天没有重现就证明修复了。

按照readme的步骤安装的,安装dependencies的时候也没发现有报错,但是运行applications的时候,一直失败,具体表现为:python进程在不断的打开和关闭,messages buffer上面 “[EAF] Process terminated. [EAF] Killed 1 EAF buffer!”在不断循环。

第一张截图里提示缺少 fitz 这个包,手动安装下试试呢

不大行,又有其他的bug源源不断

eaf pdf viewer的依赖是 PyMuPDF 你应该装 PyMuPDF 而不是直接装 fitz

楼上的建议试试,我还有个建议不要使用python3.11版本,昨晚装pymupdf死活装不上。

成了,感谢大佬。所以是每一个子项目下有一个dependency list,但是run install-eaf.py不会check有没有安装是这个原因吗?然后当我打开emacs时,emacs内部会有*eaf*和*eaf-epc con 4*两个空白buffers,外部会有一个python3.11的进程,这是正常的吗?

好像我似乎装上了

我记得这个fitz是个废物库,版本号是0.0.1,根本不是啥serious的东西