eaf-org-previewer
打开org文件预览,似乎是暗黑模式的。可能和我的主题有关。
参考readme.md, 发现 M-d toggle_dark_mode
,但是按下去M-d
没有反应。
eaf-org-previewer
打开org文件预览,似乎是暗黑模式的。可能和我的主题有关。
参考readme.md, 发现 M-d toggle_dark_mode
,但是按下去M-d
没有反应。
提issue吧, 最近忙, 有空的时候我看看。
EAF Browser 通过 JavaScript 的 document.activeElement 来探测网页是否正在输入, 在输入状态则发送字符事件给网页, 如果在非输入状态(比如浏览Google)则进入单按键命令模式(类似 vimium)。
但是EAF Browser这种探测方法在以下几个地方会失效:
为了应对这些非标准的应用场景, 今天增加了一个 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 站视频:
-webengine-proprietary-codecs
参数, 所以编译出来的 QtWebEngine 没法利用 Linux 下 FFmpeg 的视频解码能力如果只是根据上面的信息, 最直接的方法就是自己编译 Qt 和 PyQt, 但是 Qt、 Chromium 本身都是大部头, 单机编译没有几天的时间根本编译不完, 这还不算修复编译报错后反复编译的时间。
作为 Arch 粉丝, 最简单的方法就是问肥猫大佬, 大佬告诉我三个重要信息:
知道这些信息就简单了, 就是删除 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))
在xwayland下使用最佳。
刚刚编译了 xwayland 的版本,不过还是一样的问题,可能是使用 hyprland-nvidia-hidpi 的原因。
EAF最佳使用环境是 KDE 和 Gnome XWayland
与 EAF 无缘了 。
主要是 Wayland 那帮人把很多 X11 的高级功能隐藏到窗口管理器内部, 但是又不对外暴露 API, 导致我折腾不赢他们。
曾经Gnome43的时候已经可以在 Wayland Native 工作了, Gnome那帮人 Gnome 44 又改代码了, 十多年一直不稳定。
所以 Wayland Native 为基础的桌面环境和窗口管理器都没法完美工作。
@Mumulhl 大佬开发的 GitHub - mumu-lhl/eaf-pyqterminal: A terminal written in PyQt6 for the Emacs Application Framework.
用Qt来绘制的终端模拟器, 启动性能比基于 Xterm.js 实现的速度要快很多, 同时兼容Emacs按键, 期待完美实现。
经过社区大佬 @Mumulhl 3个星期的开发, EAF PyQterminal 终于达到好用的程度:
Enjoy hacking!