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

原来是之前通过aur 装的一个qt5 的包过期了,卸载掉就好了

这些都是系统依赖的问题,修好了就好

已经修复了,请更新EAF, 有问题再继续沟通。 :grinning:

谢谢,现在可以了。 :+1: :+1: :+1:

最近在研究资料,经常要用鼠标或者EAF浏览器的vimium模式去打开链接,重复工作比较多。

昨天写了一个功能,根据用户输入的规则,丢给 documentQueryAll 去查询匹配的元素,自动获取这些元素的 ref 链接去打开链接,这样我就不用一个一个的点了。

大概5分钟原理搞完,但是最后一测试就囧了,同时打开100个标签,我的电脑直接就挂了(内存是32GB)。

真是人算不如天算,最后把代码都删除了。囧

8 个赞

感觉很有用诶,爬资料神器~是不是可以把抓到的链接存下来,然后每次打开十个八个啥的 :rofl:

EAF文件管理器最开始采用的是 highlight.js 这个JavaScript库来渲染代码语法高亮,但是这个库有个最麻烦的问题是,没法随着Emacs的主题动态切换浅色主题和暗色主题。

今天想了想,其实可以在 Python 端做动态主题渲染以后传递 html 字符串给 Vue 模块。

果然有Python库 Styles — Pygments 来解决这个问题,下面是最新的效果图:

2 个赞

想过,但是觉得这样操作太复杂了。

1 个赞

想问一下 EAF 现在不支持 windows (非WSL)了吗? 最近想重装,拉了最新版,python install-eaf.py 显示

Please install one of AUR's helper, such as 'pacaur', 'yay', 'yaourt', 'paru', etc.

我见以前的版本还有 install-eaf-win32.js 这个文件的,现在都找不到了…

1 个赞

要问一下EAF的windows开发者了 @xhcoding

那个大佬估计没空,还是感谢哈!我退到一个比较老的版本就可以安装了 e74075b2c6254d67c696633229b5b0f349f5b523

可以试着自己攒一下eaf的依赖,然后忽略依赖跑install-eaf.py,这样问题还有得解决 :rofl:

之前我用gentoo成功了,这回我拿我windows试试~

好阿,等有空先,大佬先去试试,我功力不太行,一般只用 org 和 latex,elisp python javasript 都不是主力语言 :rofl:

菜菜一枚,大佬可不敢当 :rofl:

刚跑通install-eaf.py的时候我还在高兴自己把EAF装好了呢,没想到真正使用的时候却发现了些不大不小的问题,@manateelazycat 可能得麻烦您了qwq

一个问题是核心依赖里没有包含epc*eaf*里会报下面的错:

Traceback (most recent call last):
  File "c:\Users\Administrator\AppData\Roaming\.emacs.d\site-lisp\emacs-application-framework\eaf.py", line 30, in <module>
    from epc.server import ThreadingEPCServer
ModuleNotFoundError: No module named 'epc'

Process *eaf* exited abnormally with code 1
Traceback (most recent call last):
  File "c:\Users\Administrator\AppData\Roaming\.emacs.d\site-lisp\emacs-application-framework\eaf.py", line 30, in <module>
    from epc.server import ThreadingEPCServer
ModuleNotFoundError: No module named 'epc'

Process *eaf* exited abnormally with code 1

我手动安装后解决了,是不是应该在win32的依赖列表里加上epc? :rofl:

另一个是,eaf应用pull下来后不会自动运行npm install,对应的报错我没截下来,是一个key什么的错误,会报在eaf.py的237行和utils.py的50行。我跑了一遍npm install就好了。

这个问题或许出在install脚本的install_app_deps函数这里?脚本走到这里的时候只输出了一个空行就走到下一步了。可能跟我用的是scoop包管理器安装的nodejs有关?

然后EAF就可以正常使用啦~感谢前辈们的杰作!

环境:Windows server 2022,emacs 29.0.50,官方发布的mingw64预览版;python3.10和nodejs均是由scoop安装。

(安利一波winserver,12年的MBA,仅用emacs时显示续航10h+,对比mac10.15新装待机最多9h不到,顿时感觉自己(的电量)富可敌国awa)

请问您是用的什么命令跑呢?加参数了吗?还是直接修改了 install-eaf.py 这个文件?

确实漏了,感谢捉虫

案例来说install-eaf.py会跑npm install的,有机会还是告诉我们是哪个app,也提供以下报错和install log。

powershell 7.2.2,python.exe install-eaf.py

好的,当时我用的是eaf-open-browser和eaf-open-demo,我卸掉npm包试试能不能复现ww

大概不是Windows的原因,应该是第一次安装没跑完,比如因为网络原因断掉了,再安装的时候它就会认为已经装好了 :rofl: 这波可能是踩到被趟过的雷了?

install-eaf.py的输出如下:

PS C:\Users\Administrator\AppData\Roaming\.emacs.d\site-lisp\emacs-application-framework> python.exe .\install-eaf.py
[EAF] ------------------------------------------
[EAF] Installing core dependencies
[EAF] Running pip install --user pyqt5 pyqt5-sip pyqtwebengine pygetwindow @ C:\Users\Administrator\AppData\Roaming\.emacs.d\site-lisp\emacs-application-framework
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Requirement already satisfied: pyqt5 in c:\users\administrator\appdata\roaming\python\python310\site-packages (5.15.6)
Requirement already satisfied: pyqt5-sip in c:\users\administrator\appdata\roaming\python\python310\site-packages (12.9.1)
Requirement already satisfied: pyqtwebengine in c:\users\administrator\appdata\roaming\python\python310\site-packages (5.15.5)
Requirement already satisfied: pygetwindow in c:\users\administrator\appdata\roaming\python\python310\site-packages (0.0.9)
Requirement already satisfied: PyQt5-Qt5>=5.15.2 in c:\users\administrator\appdata\roaming\python\python310\site-packages (from pyqt5) (5.15.2)
Requirement already satisfied: PyQtWebEngine-Qt5>=5.15.2 in c:\users\administrator\appdata\roaming\python\python310\site-packages (from pyqtwebengine) (5.15.2)
Requirement already satisfied: pyrect in c:\users\administrator\appdata\roaming\python\python310\site-packages (from pygetwindow) (0.2.0)
[EAF] Finished installing core dependencies
[EAF] ------------------------------------------
[EAF] ------------------------------------------
[EAF] Installing application dependencies

[EAF] Updating browser to newest version...
[EAF] Running git pull @ app\browser
Already up to date.

[EAF] Updating demo to newest version...
[EAF] Running git pull @ app\demo
Already up to date.

[EAF] Updating file-browser to newest version...
[EAF] Running git pull @ app\file-browser
Already up to date.

[EAF] Updating file-manager to newest version...
[EAF] Running git pull @ app\file-manager
Already up to date.

[EAF] Updating git to newest version...
[EAF] Running git pull @ app\git
Already up to date.

[EAF] Updating image-viewer to newest version...
[EAF] Running git pull @ app\image-viewer
Already up to date.

[EAF] Updating markdown-previewer to newest version...
[EAF] Running git pull @ app\markdown-previewer
Already up to date.

[EAF] Updating mermaid to newest version...
[EAF] Running git pull @ app\mermaid
Already up to date.

[EAF] Updating mindmap to newest version...
[EAF] Running git pull @ app\mindmap
Already up to date.

[EAF] Updating org-previewer to newest version...
[EAF] Running git pull @ app\org-previewer
Already up to date.

[EAF] Updating pdf-viewer to newest version...
[EAF] Running git pull @ app\pdf-viewer
Already up to date.

[EAF] Updating rss-reader to newest version...
[EAF] Running git pull @ app\rss-reader
Already up to date.

[EAF] Updating terminal to newest version...
[EAF] Running git pull @ app\terminal
Already up to date.

[EAF] Updating video-player to newest version...
[EAF] Running git pull @ app\video-player
Already up to date.

[EAF] Updating vue-demo to newest version...
[EAF] Running git pull @ app\vue-demo
Already up to date.

[EAF] Installing dependencies for installed applications
[EAF] Finished installing applications and their dependencies
[EAF] Please ensure the following are added to your init.el:
(require 'eaf-browser)
(require 'eaf-demo)
(require 'eaf-file-browser)
(require 'eaf-file-manager)
(require 'eaf-git)
(require 'eaf-image-viewer)
(require 'eaf-markdown-previewer)
(require 'eaf-mermaid)
(require 'eaf-mindmap)
(require 'eaf-org-previewer)
(require 'eaf-pdf-viewer)
(require 'eaf-rss-reader)
(require 'eaf-terminal)
(require 'eaf-video-player)
(require 'eaf-vue-demo)
[EAF] Please run both 'git pull' and 'install-eaf.py' (M-x eaf-install-and-update) to update EAF, applications and their dependencies.
[EAF] Use the flag '--install-new-apps' to install previously uninstalled or new apps.
[EAF] ------------------------------------------
[EAF] install-eaf.py finished.

eaf输出类似以下,会不停重复报出来:

Traceback (most recent call last):
  File "c:\Users\Administrator\AppData\Roaming\.emacs.d\site-lisp\emacs-application-framework\core\utils.py", line 50, in on_signal_received
    self._func(obj, *args, **kwargs)
  File "c:\Users\Administrator\AppData\Roaming\.emacs.d\site-lisp\emacs-application-framework\eaf.py", line 153, in new_buffer
    self.create_buffer(buffer_id, url, module_path, arguments)
  File "c:\Users\Administrator\AppData\Roaming\.emacs.d\site-lisp\emacs-application-framework\eaf.py", line 172, in create_buffer
    app_buffer = module.AppBuffer(buffer_id, url, arguments)
  File "c:/Users/Administrator/AppData/Roaming/.emacs.d/site-lisp/emacs-application-framework/app/browser/buffer.py", line 79, in __init__
    self.buffer_widget.dark_mode_js = open(os.path.join(os.path.dirname(__file__),
FileNotFoundError: [Errno 2] No such file or directory: 'c:/Users/Administrator/AppData/Roaming/.emacs.d/site-lisp/emacs-application-framework/app/browser\\node_modules\\darkreader\\darkreader.js'
Traceback (most recent call last):
  File "c:\Users\Administrator\AppData\Roaming\.emacs.d\site-lisp\emacs-application-framework\core\utils.py", line 50, in on_signal_received
    self._func(obj, *args, **kwargs)
  File "c:\Users\Administrator\AppData\Roaming\.emacs.d\site-lisp\emacs-application-framework\eaf.py", line 237, in update_views
    view = View(self.buffer_dict[buffer_id], view_info)
KeyError: 'f36c-99dd-7b56-6d35-da46-bd32-4fa5'
Traceback (most recent call last):
  File "c:\Users\Administrator\AppData\Roaming\.emacs.d\site-lisp\emacs-application-framework\core\utils.py", line 50, in on_signal_received
    self._func(obj, *args, **kwargs)
  File "c:\Users\Administrator\AppData\Roaming\.emacs.d\site-lisp\emacs-application-framework\eaf.py", line 237, in update_views
    view = View(self.buffer_dict[buffer_id], view_info)
KeyError: 'f36c-99dd-7b56-6d35-da46-bd32-4fa5'

总之问题还算比较轻松地解决了,希望对大家有帮助~

你这个报错是npm install没跑完或者没有配置代理导致npm仓库连不上

今天推送了一系列补丁,现在EAF全面支持PyQt6了

只需要执行 ./install-eaf.py 脚本就可以无缝升级!

7 个赞