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

请教下咋设置的。

今天更新了一个补丁:

之前i3不能工作的原因是环境变量 DESKTOP_SESSION 和 XDG_CURRENT_DESKTOP 都是空的,今天用命令 “wmctrl -m” 来动态的获取桌面的名字,i3 的用户只要安装了 wmctrl 和 xdotool 都可以直接工作了。

2 个赞

eaf 总是在当前 窗口打开浏览器,这一点有时候很不方便, 有时候我更希望 eaf浏览器一直显示在固定位置,而不是覆盖当前窗口 好在 eaf 可以通过 修改 eaf-app-display-function-alist 达到这个目的

  (defun eaf--browser-get-window ()
    (get-window-with-predicate
     (lambda (window)
       (with-current-buffer (window-buffer window)
         (string= eaf--buffer-app-name "browser")))))

  (defun eaf--browser-display (buf)
    (let ((browser-window (eaf--browser-get-window)))
      (select-window (or browser-window (split-window-no-error (selected-window) nil 'left)))
      (switch-to-buffer buf)))

  (add-to-list 'eaf-app-display-function-alist '("browser" . eaf--browser-display))


eaf-browser

3 个赞

用 elfeed 搭配 eaf 查看 rss

 (defun adviser-elfeed-show-entry (orig-fn entry &rest args)
   (eaf-open-browser (elfeed-entry-link entry)))
 (advice-add #'elfeed-show-entry :around #'adviser-elfeed-show-entry) 

elfeed-eaf

2 个赞

elfeed 抓取种子的时候卡不卡,会不会把Emacs卡住?

elfeed 用的是异步http请求,抓种子应该不会卡,我这边的 rss 就10几个,不卡

如果elfeed不卡的话,干脆直接把这段代码写入EAF中得了,只不过要加一个检测,elfeed load 的时候再执行。

同时直接把EAF现在鸡肋的RSS Reader删除吧。发个PR?

那个固定窗口的函数还有点小问题,等稳定了再发

1 个赞

其实不用那么做,可以写一个专门的 eaf-elfeed-open-url, 函数逻辑:

  1. 得到 elfeed 传递的 url
  2. 遍历所有的窗口,看看有没有EAF浏览器窗口
  3. 有EAF浏览器窗口,就直接打开URL
  4. 没有EAF浏览器窗口同时没有启动,就先分屏再启动EAF浏览器打开URL
  5. 没有EAF浏览器窗口只是在后台,就先分屏再切换EAF浏览器打开URL

这样就和浏览器默认打开行为不冲突,专门写一个函数给 elfeed

EAF已经内置对elfeed功能的支持,默认的RSS Reader app 删除了

1 个赞

现在EAF和Elfeed配合很好用,因为Elfeed后台是用curl抓取种子的,不会像最开始的 newsticker 那样卡。

感觉eaf 可以和很多 emacs 插件配合,达到很好的效果 刚试了下和 forge 配合,可以很方便的查看 issue 和 pr eaf-forge

4 个赞

问下,你用的是什么命令打开的forge issue的?

forge-browse-issue

谢谢,好像 forge-browse-dwim 也可以

你这个这个似乎更方便

请问下,为什么把git app删除了呀

目前没有时间开发 git app, 短时间之内很难达到可用程度

由于现在内置的eaf--find-file-advisoreaf--dired-find-find-advisor足够好用,最新的EAF删除了eaf-find-alternate-file-in-diredeaf-open-this-from-dired,大家不必使用它了

3 个赞

自从使用 eaf 几乎不用鼠标了 但是发现浏览器 canvas 内的内容 按 f 是获取不到的 按 n 和 p 等也移动不了页面 比如 org roam server 里的关系图 当然 Vimium 插件也获取不到 canvas 标签的内容 于是我用 pyautogui 模拟鼠标拖拽移动 绑定在 hydra h j k l 四个键上 用 C-c f 启动 hydra body 但是发现 eaf 中每次按键第一次没反应 按第二次才起作用 以上有没有更好的解决办法