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

压缩文件装fuse就可以了

多谢。我试试去。

我在 dired 里预览一般是用 peep-dired, 浏览压缩文件用 dired-avfs, 功能肯定不会太过强大,不过对我来说够用了

1 个赞

多谢。peep-dired不满足我的需求,dired-avfs可能是我没调试好,用着感觉不太好。

请问如何查询当前major mode的快捷键。

EAF和Emacs的边界在于:

  1. 文本方面的肯定Emacs更强大,比如diff, magit, dired方面,虽然都是hacking way, 但是已有生态已经非常好了,很难在短时间做的比现有插件做的更好,比如前几个月我在写EAF Git应用,但是最后发现集成Emacs diff方面magit确实做的更好,最后就放弃了
  2. 插件需要大量图形渲染的或者多线程解决耗时运算的时候,比如浏览器、PDF渲染、音乐播放器、视频播放器、Markdown预览这种,EAF从本质上就要强很多,因为Python、Qt和先天的多线程支持都是Emacs很难在短时间具备的
5 个赞

同意。eaf拓展的功能要能够增强Emacs现有生态才有意义。所以我只是说“补充”emacs难以做好的一些功能。

我之前说的写文件管理器对我来说只是个练习。我在写pyqt上面是生手,还需要练下手。我并没有真的要去替代dired。我的想法其实是想用eaf扩展dired的功能。这要慢慢根据自己的需求去适配或者开发。

libgit2最关键的问题是不能像git executable那样直接和git hook,gitattribute等结合在一起,因为libgit2设计上就是一个用来操作git repo的底层库而不是git那样的User interface。导致一堆扩展如git-crypt没法使用

我遇到一个奇怪的问题。求助。

我在wsl1上面调用Windows下面的eaf terminal。对于诸如/,/mnt,/etc,/home这样的路径都能够正常打开powershell,但是对于类似/mnt/c这样的路径,eaf terminal就不能正常运行,直接退出了。*eaf*里面只是说连接失败。我追踪了一下,可以肯定是进入python部分之后出的问题,进程似乎跑起来了,但是却自动退出来了。

powershell正常运行的时候,启动文件夹是正确的,不过转换成了wsl的网络地址\wsl$\Arch。我看了半天代码,没找到在哪里转换了这个路径?

我很纳闷的是为什么/mnt能正常使用,/mnt/c就不行。现在能想到的解释是前者能转换成wsl的网络路径,后者不行,后者在wsl的文件系统里面只是挂载的一个空文件夹,转换成wsl的网络路径也是空的,所以会导致进程直接退出。

我的问题是:可能在哪里eaf terminal转换了linux路径为wsl的网络路径?我查了好久了,还是没查到。请帮我把把脉。

terminal下有 server js , 可以在里面加入打印语句,我估计是路径错了导致node无法正常启动

不知道这篇文章说的意思,就是可以在 Mac 下运行 Dbus:

在 macos 上启动 dbus

2020-01-22

Computer

约 242 字 预计阅读 1 分钟

文章目录

【注意】最后更新于 1年前,文中内容可能已过时,请谨慎使用。

:竟然是误打误撞给蒙到了,把注释里的 10.4 看成了 10.14,以为是对 10.14+ 版本有效,看来是对老版本的兼容处理,但是不知道为什么我现在是 10.15 了,竟然用这个方法解决了。)

在 mac 上通过 brew install dbus 安装好 dbus 后,却无论如何无法启动,试过–HEAD 也是不行。后来看到源码包里的 ‘org.freedesktop.dbus-session.plist.in’ 文件里有这么几行:

1
2
3
4
5
``` ```
	<!-- Please uncomment on 10.4; OnDemand doesn't work properly there. -->
	<!--
	<key>OnDemand</key>
	<false />
	-->

看说明,是要在 10.4 版加这一段,不知道我的系统是不是也一样,本着试一试的想法把

1
2
``` ```
<key>OnDemand</key>
<false/>

加到 ‘/usr/local/Cellar/dbus/1.12.16/org.freedesktop.dbus-session.plist’ 里,然后重新执行

1
``` ```
brew services stop dbus && brew services start dbus

竟然真的可以了,特此记录,以备后查。

现在eaf不用dbus了吧?

问题已经搞定了,的确是路径问题,不过问题不在js那里,还是eaf.el里面没处理好。等会儿整理好,我发个pr,大佬帮我review一下。

更新

我在解决浏览器使用过程中的闪烁问题。这似乎不能根本上解决问题,reparent过程的耗时 还是不小的。我现在想到的策略是统一eaf buffer和浏览器的颜色、隐藏光标。这样的话, 不管reparent耗时多久,都不会有大面积的闪烁。效果就和打开dark mode,同时使用一个 暗色主题时差不多。隐藏光标好办。修改buffer颜色这里需要咨询大家一下。

我在emacs-wiki上面看到emacs不支持修改单独一个buffer的颜色。有两个workaround。一 个是安装https://github.com/vic/color-theme-buffer-local,另一个方案是buffer-bg.el。

我更倾向于后者。

我想问的是大家有没有更轻巧的方案?

不知道 eaf-browser 有没有办法追踪页面是由哪个其它的页面链接跳转来,如果可以的话,似乎可以利用 treemacs 做一个类似 firefox 树形标签页的东西

1 个赞

windows下reparent是api调用形式还是进程调用形式?

进程开销比较大

可以哇,qt都有记录

应该是api,调用方式我没改,还是原来的。

单纯在Windows上面使用,不跨系统调用eaf的话效果好一些,应该和Linux上面是一样的。我觉得时间花销跟Linux上面比起来多在了要通过python获取Emacs的hwnd。这个ID本来应该是Emacs自己获取的,会更快一点。我把这个时间我降到了几十毫秒。一时也没想到是么更好的办法了。

现在我用起来其实问题已经解决得差不多了。就想着既然闪屏避免不了,做点小的微调,提高一下用户体验。统一eaf buffer和app的背景、关掉eaf buffer的光标,上面提到的延迟和闪屏应该就不是问题了。

闪屏的问题似乎在Linux上也存在吧,我从eaf readme上面的gif动画里面也看到了屏幕闪烁的问题。目前这个reparent方案还没办法彻底解决闪烁的问题?

linux不会闪,那是gif录制软件的问题

我好久没遇到这个问题了,包括emacsconf当时的录屏也没闪