这个只是一个单独的控件吧,它不能像 EAF 那样直接分屏和转发事件。
Emacs 需要的是分屏以后,可以快速组合不同的 mode 的buffer进行协同工作。
如果只是一个控件嵌入,没法提升Emacs的协同作战的能力
这个只是一个单独的控件吧,它不能像 EAF 那样直接分屏和转发事件。
Emacs 需要的是分屏以后,可以快速组合不同的 mode 的buffer进行协同工作。
如果只是一个控件嵌入,没法提升Emacs的协同作战的能力
我觉得 eaf, 现在要考虑 .QT 和 PyQt5 不同系统上, 版本兼容性的问题.
因为不是所有的用户都是 ArchLinux 的.
可能更多的用户, 会 pip install xxx. 这样安装.
其实没啥兼容性问题,就是有些发行版的Qt5弄得太差了。只要Qt5是好的,大部分都不会有问题
这个只是一个非常简单的demo, 你们可以先体验一下性能,等我带小孩和小狗出去遛弯,遛弯回来晚上睡觉之前就可以写一个完美的 PDF 阅读器
战斗力爆表,很强
我用 poppler 这个库重写了一版 PdfViewerWidget, 更新以后,直接 eaf-open 输入 PDF 文件路径就可以查看了 打开以后:
特性:
PDF 浏览器效果请看:https://github.com/manateelazycat/emacs-application-framework/blob/master/screenshot/pdf_viewer.gif
最大化最小化,xwindow大小不跟随emacs更新,没有处理最大化最小化更改事件?
那个还没做,你可以提issue
之所以没做,是因为我平常都是全屏用 emacs 的
到目前为止的有些快捷键:
App | Key | Event |
---|---|---|
Browser | Left Button | Open link current tab |
Ctrl + Left Button | Open link in new tab | |
Image Viewer | j | Load next image in current directory |
k | Load previous image in current directory | |
Video Player | Space | Play or Pause |
h | Seek backward | |
l | Seek forward | |
Pdf Viewer | j | Scroll up |
k | Scroll down | |
Space | Scroll up page | |
b | Scroll down page | |
, | Scroll to end | |
. | Scroll to home | |
t | Switch scale mode | |
- | zoom out | |
= | zoom in | |
0 | zoomn reset |
运行 eaf-open
+ image file 出现错误:
Traceback (most recent call last):
File "/home/stardiviner/Code/Emacs/emacs-application-framework/core/eaf.py", line 35, in <module>
from app.browser.buffer import BrowserBuffer
File "/home/stardiviner/Code/Emacs/emacs-application-framework/app/browser/buffer.py", line 25, in <module>
from PyQt5.QtWebKitWidgets import QWebView, QWebPage
ModuleNotFoundError: No module named 'PyQt5.QtWebKitWidgets'
我是用的 virtualenv python. version 3.6.5, Emacs version 26.1, Arch Linux. 我的 PyQt5 是从 pip 装的。
pip里面没有webkit,看我readme,从pacman里面装。
pip只有qtwebengine,这货还有bug,我还在死磕
pip的qtwebengine就是个坑货,我最后从下到上手动编译安装的
主要那个 QtWebengine 不能控制单击浏览器链接的时候是在当前窗口还是新的窗口打开。 这个让我很郁闷
是pyqt不行还是qt不行?C++ Qt是可以的啊。pythong的binding我不清楚。
pyqt不行
我今天一天都要折腾macos,代理,brew,git,emacs了,估计要折腾一整天
可是docker里没有dbus
这个技术需要 X11和Qt, docker里面怎么可能有Qt?
docker里可以连外部xserver一样用qt吧
你在docker里面用Qt, 你不觉得 … ???