大佬,提个bug,这个补丁会导致 eaf-wm-focus-fix-wms
中的桌面管理器无法移动鼠标。只要把鼠标滑到 eaf-browser 的范围内,就会重新定位到右下角
更新吧, 已经修复了。
刚刚又试了一下,貌似问题还存在?
还得辛苦大佬了
再更新试一下吧, 我不用 Tile Window Manager, 盲修的。
这次好了,大佬效率就是高,感谢感谢
今天写了一个补丁, 现在EAF浏览器, 可以按住 Ctrl 移动鼠标, 自动获取光标处的单词并翻译了。
感谢 ChatGPT 帮我提供获取光标处单词的原理函数。
请问现在安装Gnome版本的Manjaro是不是体验EAF的较好方式呀?
xwayland,不要用 wayland native
eaf-org-previewer
打开org文件预览,似乎是暗黑模式的。可能和我的主题有关。
参考readme.md, 发现 M-d toggle_dark_mode
,但是按下去M-d
没有反应。
提issue吧, 最近忙, 有空的时候我看看。
EAF Browser 通过 JavaScript 的 document.activeElement 来探测网页是否正在输入, 在输入状态则发送字符事件给网页, 如果在非输入状态(比如浏览Google)则进入单按键命令模式(类似 vimium)。
但是EAF Browser这种探测方法在以下几个地方会失效:
- 网站安全防护, 比如QQ邮箱登录时 activeElement 会失效
- 云服务后台, 比如 Google 云里用 iframe 来嵌入终端模拟器
- 各种带 overlay 的网站, 比如 Reddit 登录的时候会有一个隐藏悬浮窗口来抢夺 activeElement
为了应对这些非标准的应用场景, 今天增加了一个 switch_to_input_mode 命令(Alt + z), 强制 EAF Browser进行输入模式。
每天都在用沉浸式翻译插件阅读外文材料,怎么从零写一个呢?
下面这篇文章以EAF Browser代码为例, 分享沉浸式双语翻译插件的原理, 核心代码只有90多行。
https://manateelazycat.github.io/emacs/eaf/2023/05/06/the-principle-of-immersive-translation.html
今天晚上在看 EAF Browser 一个 issue 时, 研究了一下为什么 QtWebEngine 可以播放 YouTube 视频而无法播放 B 站视频:
- QtWebEngine 默认使用 Chromium 内核, Chromium 内核并不能像 Chrome 那样默认就带一些视频的解码器, 比如 MP4
- Qt 默认编译没有带
-webengine-proprietary-codecs
参数, 所以编译出来的 QtWebEngine 没法利用 Linux 下 FFmpeg 的视频解码能力 - Qt 本身没法解码 HTML5 视频, 基于 Qt 开发的 PyQt 当然也不行
如果只是根据上面的信息, 最直接的方法就是自己编译 Qt 和 PyQt, 但是 Qt、 Chromium 本身都是大部头, 单机编译没有几天的时间根本编译不完, 这还不算修复编译报错后反复编译的时间。
作为 Arch 粉丝, 最简单的方法就是问肥猫大佬, 大佬告诉我三个重要信息:
- Arch 里 KDE 的基于 qt5-webengine 的 aura-browser 和基于 pyqt5-webengine 的 qutebrowser, 都能正常放 B 站视频
- Arch 里的 Qt 默认就开了 proprietary_codecs 编译参数: svntogit-packages/PKGBUILD at packages/qt6-webengine · archlinux/svntogit-packages · GitHub
- pip 安装 PyQt 是不靠谱的, 因为不确定是怎么实现的, 因为没人保证
知道这些信息就简单了, 就是删除 pip 安装的 PyQt6, 用 pacman 来安装 Qt6 和 PyQt6:
rm -rf ~/.local/lib/python3.10/site-packages/PyQt6*
sudo rm -rf /usr/lib/python3.10/site-packages/PyQt6*
sudo pacman -S python-pyqt6-webengine python-pyqt6 python-pyqt6-sip
为什么要执行前面两个删除命令呢? 因为如果你已经用 pip 安装了 PyQt 再用 pacman 安装后, PyQt6 目录下的文件会被两个工具同时写入, 导致 PyQt 程序启动时各种报错。
最后
给 EAF 打了一个补丁, EAF 在 Arch 下会自动用 pacman 安装 PyQt 来解决 EAF Browser 无法看 B 站视频的问题。 其他 Linux 发行版要确保 Qt 编译参数里面有 -webengine-proprietary-codecs
, 同时保证软件仓库里的 PyQt 和 Qt 版本是匹配的。
当然, 如果你用的 Linux 发行版不支持这些, 最简单的方法就是换 Arch Linux 吧。
在使用 chrome 的 zotero 插件的时候,遇到好的博客可以截取 snapshot 保存到后台运行的zotero 中。
实际使用的时候发现这个功能很好,因为 zotero 插件对于网页的截取效果很好。几乎是原汁原味地保留了网页的内容。
不知道 eaf-browser 能否实现这一点。期待有一天也能够在 Emacs 中搞定这件事。
已经有这样的插件了呀,你看一下这个浏览器的快捷键
音乐播放器最近有一个bug,暂停音乐后会改变播放速度,最后调试发现是 vue-audio-visual 这个组件的问题。
换成 audioMotion-analyzer 这个组件后,修复了播放速度改变的问题, 同时发现 audioMotion-analyzer 的效果和性能都要好很多。
今天修复了好几个偶然崩溃的问题, 建议大家都更新一下 EAF 。
这是使用eaf-open-browser打开网页的效果,请问这是正常的吗?之前没使用过EAF,不是很清楚。
使用 emacs -Q
测试了,也是一样。
我使用的 wm 是 hyprland-nvidia-hidpi-git,编译 Emacs 时开启了 pgtk,版本信息是 30.05 。以下是 EAF 的配置信息。
(add-to-list 'load-path "~/.emacs.d/site-lisp/emacs-application-framework")
(load "~/.emacs.d/site-lisp/Autoloads/eaf-loaddefs.el" nil t) ;; Autoload
(require 'eaf)
;; (require 'eaf-browser)
(with-eval-after-load 'eaf-browser
(setq eaf-browser-continue-where-left-off t
eaf-browser-enable-adblocker t
browse-url-browser-function 'eaf-open-browser
eaf-browser-blank-page-url "https://www.baidu.com")
(defalias 'browse-web #'eaf-open-browser))