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

你平常ivy配合EAF用不难受吗?最讨厌 ivy 补全的时候在下面跳来跳去的,晃眼睛。

等我回去看看。

修复了。

换了一个生成CSS Selector算法,之前的算法自作聪明想省略不必要的selector。现在不管三七二十一全部:nth-child,虽然长了点但不影响效率,而且也避免了各大网站奇怪的js设计。

所以这个也一并修复了。

难受! 一般全屏时,会使用 snails,主要因为不熟悉用的录屏插件 gif-screencast的命令,加上之前测试 ivyfuz 进行某些 emacs 内置命令补全,如果输入全部字母,就会发现无法查询到它(最新的 fuzsnails,已经修复它了) :smile:

@MatthewZMD 谢谢。

不难受啊,可能我习惯了哈哈哈

我现在也有这个问题,你是怎么解决的啊?

今天增加了一个 toggle_device 命令,可以在浏览器中按 p 键,快速切换PC和手机视图,方便调试网页的手机版本。

1 个赞

今天刚开始用,经过一番魔改,用得还是很爽的( 感谢大佬。

现在有两个问题, 一个是命令 open_link_in_new_buffer 貌似无法使用啊,会显示 [EAF/browser] Cannot execute function: open_link_in_new_buffer (affc-9e00-3b00-a0e0-f4e2-e3c7-70f6), 但 open_link 是正常的。 正确的命令是 open_link_new_buffer

另一个是如果想在浏览器里进行复制的话,应该用什么命令呢,求教。

1 个赞

你说的第一个问题我没法重现。

所有的按键都可以在Wiki上查阅到,请先看Wiki

我就是在 wiki 上没找到才来问的(

Alt + W

好的感谢,看了下 wiki,copy-text 是在 terminal 里,所以没注意到。

按键太多了,更新的时候漏掉了,已经更新了 C-w 和 M-w

1 个赞

最新版,通过 Qt QGraphicsScene drawForeground 方法,在 darkreader.js 执行后才显示页面,极大的避免了 darkreader.js 执行时闪烁白色页面的问题。

现在我通过 (eaf-setq eaf-browser-dark-mode "true") 设置浏览器默认为暗色模式,查资料不那么伤眼睛了。

2 个赞

stateDiagram
   loadStarted --> start_processbar : Qt WebEngineView Signal
   loadProgress--> update_processbar : Qt WebEngineView Signal
   start_processbar --> QGraphicsScene_drawForeground : progress == 0
   update_processbar --> QGraphicsScene_drawForeground : progress <= 100
   state QGraphicsScene_drawForeground {
       check_progress --> show_progressbar : progress < 100
       check_progress --> try_hide_processbar : progress == 100
       state show_progressbar {
          check_dark_mode --> is_dark_mode
          check_dark_mode --> is_light_mode
          is_dark_mode --> render_loading_background
          is_light_mode --> render_progress_bar : not need render background
          render_loading_background --> render_progress_bar  : render background to avoid page white flash
       }
       state try_hide_processbar {
          check_dark_mode --> is_dark_mode
          check_dark_mode --> is_light_mode
          is_dark_mode --> call_darkreader_js
          is_light_mode --> hide_progressbar : hide progressbar immediately
          call_darkreader_js --> hide_progressbar : wait 1 second hide to avoid page white flash
          hide_progressbar --> draw_web_page
       }
   }

用EAF的Mermaid插件画了一下暗色模式的逻辑状态图。

2 个赞

大佬,前面刚刚发现可以用 eaf browser 上聊天应用的网页版!但后来发现输入完文字后 enter 键只能当作换行用,无法发送文字,于是就瞎试了下面两种方法,但结果都失败了 :sob:

① 像 telegram 是支持 C-return 作为发送的,我就把 c-return 绑到 eaf-send-key 上,但还是不行。

② 后来又想通过 open-link 的方式实现,但这方面知识实在欠缺,vimium 那种形式绑定的按键又经常会变。

求教还有什么方法吗。

直接把按键绑定到 eaf-send-key-sequence , 这个命令会原封不动的发送给EAF控件。 最好给一个连接,我可以试一下。

什么的链接?我现在在用 telegram 做测试。

现在是这么写的 (eaf-bind-key eaf-send-key-sequence "C-<return>" eaf-browser-keybinding) ,是语法有问题吗 :joy: 现在会报错:

dbus-call-method: D-Bus error: "Traceback (most recent call last):
  File \"/usr/lib/python3.8/site-packages/dbus/service.py\", line 711, in _message_cb
    retval = candidate_method(self, *args, **keywords)
  File \"/home/weiss/.emacs.d/emacs-application-framework/eaf.py\", line 347, in send_key_sequence
    self.buffer_dict[buffer_id].fake_key_sequence(event_string)
  File \"/home/weiss/.emacs.d/emacs-application-framework/core/buffer.py\", line 323, in fake_key_sequence
    QApplication.sendEvent(widget, QKeyEvent(QEvent.KeyPress, qt_key_dict[last_key], modifiers, last_key))
KeyError: 'return>'

EAF里面的按键伪造模块,估计还不支持 C- 这种高端写法,哈哈哈。

为什么每次看到懒猫发"哈哈哈",我就莫名想笑😂