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

这几天在和 @xhcoding 合作,从目前看 WebSocket 替换 DBus 已经没啥障碍了。

看看这个周末能否测试补丁后更新,更新后应该就可以无缝的支持Windows

4 个赞

任何操作系统从原理上都是支持跨进程 reparent 操作的,这个操作系统窗口管理器最基本的功能实现。

只是看操作系统是否暴露了这种底层的窗口操作API, 从目前看Windows和Linux都暴露了相应的API,QWindow::setParent 可以调用操作系统对应的API。

不知道Mac是否有对应的API? 如果没有的话,EAF可能没法登陆Mac平台。

这个?

1 个赞

这个api看起来像同一进程的窗口层级变动,不是跨进程窗口粘贴

可以参考下 qt 在cocoa 平台的 setParent 实现,看下有没有帮助: https://code.woboq.org/qt5/qtbase/src/plugins/platforms/cocoa/qcocoawindow.mm.html#_ZN12QCocoaWindow9setParentEPK15QPlatformWindow

最新版的PDF Viewer已经成功处理了事件处理信号,现在可以直接用鼠标直接选择PDF文本,不需要像以前双击一下去激活选中模式。

鼠标选中文字后,直接按M-w复制选中文本。

2 个赞

一定是需要mac大牛的帮助的,毕竟emacs-china上的mac开发者可能并不多。我的建议是在 mac开发者 相关的论坛或邮件列表发帖,或许能更快的找到解决方案。

我找到了一些

还有一些可以看这里:website upgrading…

希望对EAF在Mac上的支持有帮助。

猫哥,更新到最新版,在使用鼠标直接选择pdf文本成功后,再切换到browser,发现在browser中就无法用鼠标选择文本和点开链接

更新最新版就好了,已经修复了。

1 个赞

这个帖子都快上千回复了,另外再开一个吧。。。

1 个赞

eaf-open-terminal 的时候出现了 js: WebSocket connection to 'ws://127.0.0.1:43913/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED ,请问是我的 python 依赖不全吗

有时会出现这样的问题:
dbus-call-method: D-Bus error: "The name com.lazycat.eaf was not provided by any .service files"
我一般使用的 pdf-viewer 和 browser 功能

一下提出这么多问题,不好意思
又遇到了 *eaf* 段错误 的问题
在 issues 里转了一圈,基本确认把 python 的依赖装好了,但是目前只要打开 emacs-china.org 就会出现段错误的问题
贴几个错误信息:

*Message*:
Font founded
Loading /home/syscon/.emacs.d/recentf...done
Cleaning up the recentf list...done (0 removed)
For information about GNU Emacs and the GNU system, type C-h C-a.
[EAF] Process starting...
[EAF/browser] Opening http://emacs-china.org
[EAF] *eaf* 段错误

*eaf*:
EAF process starting...
Session is not restored, as no data present in session file.

dbus-python python-xlib pyqt5 pyqt5-sip pyqtwebengine pymupdf grip qrcode feedparser aria2p 都装好了

周末浏览了下帖子,Windows搞定了,Mac现在搞定没有啊?

reparent 还是搞不定。。。 要探讨是否有 native 的 api。

这个问题可能是 node 没有在环境变量中,查看 process-environment 里的 PATH 里有没有 node 的路径

看上去又攻克了一个平台, 标题可以改一下

1 个赞

这个补丁合并后,EAF就可以正式的支持Windows平台了。

Mac平台因为跨进程粘贴API和GPU混合图像的两个技术还没有找到替代方案,可能要等Mac平台开发者才能解决,短期之内超出我的能力范围。

15 个赞

anaconda 装不了 dbus-python, 如果在 org-babel里用了 ipython,需要自己手工安装。

上面那个补丁合并后,EAF不在依赖DBus了。

2 个赞