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

看日志像建立浏览器sqlite数据库的时候路径出错了,但是不应该呀,会自动创建文件呀。

这个keyError在打开pdf时也会出现

Traceback (most recent call last):
  File "/home/alih/.emacs.d/site-lisp/emacs-application-framework/core/utils.py", line 50, in on_signal_received
    self._func(obj, *args, **kwargs)
  File "/home/alih/.emacs.d/site-lisp/emacs-application-framework/eaf.py", line 237, in update_views
    view = View(self.buffer_dict[buffer_id], view_info)
KeyError: '1ee3-1cc6-818f-4e6e-2d61-d316-59b3'
1 个赞

可能是目录不存在,不会自动创建目录

1 个赞

这个问题已经修复了,再看看。

已经修复了,感谢提醒。

问题解决,非常好用,谢谢

我的情况与上面的类似,已经下载最新的还是有同样的问题。 系统是win11,下面是出现的信息

qt.webenginecontext: 

GLImplementation: desktop
Surface Type: OpenGL
Surface Profile: CompatibilityProfile
Surface Version: 4.6
Using Default SG Backend: yes
Using Software Dynamic GL: no
Using Angle: no

Init Parameters:
  *  application-name python 
  *  browser-subprocess-path C:\Users\longm\AppData\Roaming\Python\Python310\site-packages\PyQt6\Qt6\bin\QtWebEngineProcess.exe 
  *  create-default-gl-context  
  *  disable-es3-gl-context  
  *  disable-features DnsOverHttpsUpgrade,ConsolidatedMovementXY,InstalledApp,BackgroundFetch,WebOTP,WebPayments,WebUSB,PictureInPicture 
  *  disable-speech-api  
  *  disable-web-security  
  *  enable-features NetworkServiceInProcess,TracingServiceInProcess 
  *  enable-threaded-compositing  
  *  in-process-gpu  
  *  use-gl desktop 

Traceback (most recent call last):
  File "c:\home\wbemacs\extensions\emacs-application-framework\core\utils.py", line 50, in on_signal_received
    self._func(obj, *args, **kwargs)
  File "c:\home\wbemacs\extensions\emacs-application-framework\eaf.py", line 153, in new_buffer
    self.create_buffer(buffer_id, url, module_path, arguments)
  File "c:\home\wbemacs\extensions\emacs-application-framework\eaf.py", line 172, in create_buffer
    app_buffer = module.AppBuffer(buffer_id, url, arguments)
  File "c:/home/wbemacs/extensions/emacs-application-framework/app/browser/buffer.py", line 38, in __init__
    BrowserBuffer.__init__(self, buffer_id, url, arguments, False)
  File "c:\home\wbemacs\extensions\emacs-application-framework\core\webengine.py", line 814, in __init__
    self.zoom_data = ZoomSizeDb(os.path.join(os.path.dirname(self.config_dir), "browser", "zoom_data.db"))
  File "c:\home\wbemacs\extensions\emacs-application-framework\core\webengine.py", line 1538, in __init__
    self._conn = sqlite3.connect(dbpath)
sqlite3.OperationalError: unable to open database file
Traceback (most recent call last):
  File "c:\home\wbemacs\extensions\emacs-application-framework\core\utils.py", line 50, in on_signal_received
    self._func(obj, *args, **kwargs)
  File "c:\home\wbemacs\extensions\emacs-application-framework\eaf.py", line 237, in update_views
    view = View(self.buffer_dict[buffer_id], view_info)
KeyError: '15aa-6f43-98a0-9f84-b0b1-e9c0-9c75'

你确定更新到最新版了吗? PyQt6 和 PyQt5 两个分支都解决了这个问题。

是更新到最新版本了

切换到pyqt5版本也是一样的

Traceback (most recent call last):
  File "c:\home\wbemacs\extensions\emacs-application-framework-qt5-legacy\core\utils.py", line 50, in on_signal_received
    self._func(obj, *args, **kwargs)
  File "c:\home\wbemacs\extensions\emacs-application-framework-qt5-legacy\eaf.py", line 153, in new_buffer
    self.create_buffer(buffer_id, url, module_path, arguments)
  File "c:\home\wbemacs\extensions\emacs-application-framework-qt5-legacy\eaf.py", line 172, in create_buffer
    app_buffer = module.AppBuffer(buffer_id, url, arguments)
  File "c:/home/wbemacs/extensions/emacs-application-framework-qt5-legacy/app/browser/buffer.py", line 38, in __init__
    BrowserBuffer.__init__(self, buffer_id, url, arguments, False)
  File "c:\home\wbemacs\extensions\emacs-application-framework-qt5-legacy\core\webengine.py", line 800, in __init__
    self.zoom_data = ZoomSizeDb(os.path.join(os.path.dirname(self.config_dir), "browser", "zoom_data.db"))
  File "c:\home\wbemacs\extensions\emacs-application-framework-qt5-legacy\core\webengine.py", line 1522, in __init__
    self._conn = sqlite3.connect(dbpath)
sqlite3.OperationalError: unable to open database file
Traceback (most recent call last):
  File "c:\home\wbemacs\extensions\emacs-application-framework-qt5-legacy\core\utils.py", line 50, in on_signal_received
    self._func(obj, *args, **kwargs)
  File "c:\home\wbemacs\extensions\emacs-application-framework-qt5-legacy\eaf.py", line 237, in update_views
    view = View(self.buffer_dict[buffer_id], view_info)

Windows 试一下 sqlite - python sqlite3.connect - unable to open database file - Stack Overflow 这个帖子,看看是不是你权限设置导致的问题。

升级到了 qt6,把安装过程的小问题修复了,提了个 PR

感觉 browser 比之前快了很多,但是也遇到了在输入框按 enter 和 backspace 会崩溃,感觉是 qtwebengine 的问题

升级最新版本可以了

先切换到qt5吧,目前我发现只有arch和mac对qt6支持较好。

感谢修复,Make sure config dir always exist. · emacs-eaf/emacs-application-framework@f63b78c · GitHub 之前这个补丁只修复了EAF配置文件的创建,但是 browser 这个子目录忘记检查了。

eaf没有按照kde的全局缩放比例缩放,在桌面缩放100%的时候正常,是Qt6的问题吗

Qt6的缩放逻辑和Qt5确实不一样。

你看看 emacs-application-framework/eaf.el at dc9f9ce74f4aae625410c75750b3bdcfa1e44f98 · emacs-eaf/emacs-application-framework · GitHub 这个函数里面 QT_ 开头的几个环境变量改一下,看看能否适配KDE?

如果可以修复你的问题,欢迎发送补丁,抱歉电脑没有KDE环境 + 最近比较忙,没法帮到你。

刚刚了解到eaf,请问下现在windows下要怎么安装?

另外在windows下使用eaf有什么障碍吗? 我目前主要用orgmode,markdown,偶尔用来编辑些代码片段。 最近在给团队找文本转图片的工具,用来维护模块关系图。找到 atom+markdown preview enhansed插件,支持mermaid或者puml画图工具,感觉不错。不知道eaf能不能实现类似的功能。

所有平台都用 ./install-eaf.py 去安装。

你说的功能都已经有现成的插件支持, 全部的功能可以去看 GitHub - emacs-eaf/emacs-application-framework: EAF, an extensible framework that revolutionizes the graphical capabilities of Emacs

./install-eaf.py 安装提示

ifqqf MINGW64 ~/.emacs.d/site-lisp/emacs-application-framework
$ ./install-eaf.py
Please install one of AUR's helper, such as 'pacaur', 'yay', 'yaourt', 'paru', etc.

我是使用msys2下的emacs。 对这块不熟悉,查了下没有现成的指导,昨天就没折腾了。