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

希望后续能够支持i3。目前i3中想使用EAF的话,鼠标必须放在minibuffer上?否则全部按键失灵。

1 个赞

用pip3装pymupdf的时候给了我一个错误,没有fitz.h这个文件 ,肿么办啊

  x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/mupdf -I/usr/local/include/mupdf -I/usr/include/python3.6m -c fitz/fitz_wrap.c -o build/temp.linux-x86_64-3.6/fitz/fitz_wrap.o
    fitz/fitz_wrap.c:2733:10: fatal error: fitz.h: 没有那个文件或目录
     #include <fitz.h>
              ^~~~~~~~
    compilation terminated.
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
    
    ----------------------------------------
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-2smfo4k3/PyMuPDF/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-9wu79wwa-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-2smfo4k3/PyMuPDF/

Readme上不是推荐了用系统的包管理器安装吗?

你确定ubuntu能用arch的包管理器吗 :joy:

善用 apt-file search

i3主要是窗口管理器焦点问题,欢迎发PR

我晚上安装了一下 i3wm, 从技术调研看,还是 i3wm 的协议支持有问题:

  1. EAF Qt 窗口创建的时候,是不抢夺用户鼠标事件的
  2. i3wm 并没有按照 ICCCM 协议处理 EAF Qt 窗口,导致鼠标点击EAF Qt窗口,焦点就无法切换到 Emacs 窗口

即使我在鼠标点击EAF Qt窗口的时候强制让 Emacs 执行 (shell-command “i3-msg ‘[class=Emacs] focus’”) 都没有效果。

哪天有时间再折腾。

3 个赞

牛逼哄哄的 HollowMan6 同学写了一个补丁 https://github.com/manateelazycat/emacs-application-framework/pull/345 更新EAF最新版,EAF浏览器允许在Emacs里面用键盘选中文本了:

  • M-c : 激活文本选择模式
  • C-q : 退出文本选择模式
  • s : 键盘移动到下一行
  • w : 键盘移动到上一行
  • a : 键盘移动到前一个字符
  • d : 键盘移动到后一个字符
  • S : 键盘移动到最下面一行
  • W : 键盘移动到最上面一行
  • A : 键盘移动到前一个单词
  • D : 键盘移动到后一个单词
  • C-i : 切换文本选中标记
  • / : 向前搜索
  • ? : 向后搜索
  • C-. : 清空搜索

EAF浏览器配合Emacs查资料写代码的效率已经远远高于通过窗口管理器配合Chrome的效率了。:wink:

13 个赞

这个补丁后,SurfingKeys 的功能已经实现了。

用法:

b 激活marker, 输入 marker, 这时候程序会自动框选焦点的第一个单词,同时激活 caret的mark模式, 可以用下面的按键选择文本 vim style :h,j,k,l,(,),w,b emacs style : C-n,p,f,b M-a,e 其他按键 退出 caret 模式:q , C-q , M-c 退出 mark 模式: C-i

2 个赞

具体按键可以查看 Home · emacs-eaf/emacs-application-framework Wiki · GitHub

spacemacs

用eaf打开org时报错EmacSQL had an unhandled condition: “near line 15: no such table: file_links”

eaf-buffer显示 “your file was not found”

但是用emacs -Q 测试是没问题的。有遇到过这种情况的么?

SurfingKeys的功能,通过键盘快速选择网页文本 截图录屏_emacs_20200806132056

5 个赞

M-c 可以用,但是按 c 的话,输入跳转到的两个字母,回车,没有反映。已使用 emacs -q 测试过。

emacs 28
kde
eaf 589c5d7

C-f C-b都无法移动光标?你再试试现在的master

可以了 :ok_hand:t2:

更新到最新master,video player无法运行,打开视频就会导致eaf崩溃,[EAF] *eaf* aborted (core dumped)

*eaf *: EAF process starting... Session restored: cd94-5b83-c80b-e8d7-5951-ccc4-e54a app.js-video-player.buffer /home/zaichuan/.emacs.d/eaf/session.json Traceback (most recent call last): File "/home/zaichuan/.emacs.d/lisp/emacs-application-framework/app/js-video-player/buffer.py", line 58, in play_video self.buffer_widget.eval_js("play('{}');".format("file://" + self.url)) AttributeError: 'BrowserView' object has no attribute 'eval_js'

emacs 26.3

manjaro kde

现在更新一下,应该好了。

最近在重构代码结构引入的问题,不好意思。

好了,感谢!

看了一下i3wm的文档,这里提到对于DOCK类型的窗口,i3有特殊的处理,EAF的XWindow看起来这只成这种类型的窗口就可以了。 大神可以试一下,我用xprop命令设置完这个属性之后老是被覆盖掉。 用i3的话,观察一下就可以发现,鼠标移动到dock上边之后,emacs是可以获取按键事件的,但是移动到其他串口上之后就获取不到事件了。

After reparenting, the window type (+_NET_WM_WINDOW_TYPE+) is checked to see
whether this window is a dock (+_NET_WM_WINDOW_TYPE_DOCK+), like dzen2 for
example. Docks are handled differently, they don’t have decorations and are not
assigned to a specific container. Instead, they are positioned at the bottom
or top of the screen (in the appropriate dock area containers). To get the
height which needs to be reserved for the window, the +_NET_WM_STRUT_PARTIAL+
property is used.

image

对于spacemacs 用户 eaf-evil-leader-keymap 应该设成什么值呀?

我尝试设成spacemacs-cmds, 但是键的前缀名全没了!