popweb,基于Web技术的弹窗框架

还是有点差异的。katex渲染速度要快一点,可以实时渲染,几乎感觉不到延迟。

其实mathjax的这种预览效果eaf-org-previewer已经用上了。eaf-markdown-previewer的渲 染速度也很快,就是要等到保存才生效。

看起来很不错啊。就是还需要PyQt就有点纠结了

有更轻量级的跨平台GUI库吗?

浏览器,系统必备,用html创建UI,用js创建交互,极强的安全性,强大的调试功能,小学生都能轻松掌握,生态极其强大。

我能不能理解你的需求,就是给 popweb 加一个接口,弹出窗口的时候:

  1. 能够加载本地 index.html 文件
  2. 能够执行任意 javascript code

而不是加载一个 URL ?

不用纠结吧,xwidget 那条路一开始就是方向性错误,而且这个 popweb 不像 EAF 对 xparent 技术有要求,只要安装 PyQt 就可以跨平台了。

PyQt本身就是一个库, Emacs那么多插件都装了,还差一个 PyQt ?

1 个赞

基本上就是这个意思。网页加载之后可以不断通过js来更新页面内容。当然,窗口的位置和大小也要能够不断调整。

其实eaf除了不能调整位置,都满足需要。

其实现在 popweb 是有 js-code 接口的,你看 bing和yoduao 那两个文件就知道了,只是需要调整两个地方:

  1. url 那个参数可以接受文件:是url就改变地址,不是就加载文件
  2. js-code 那个参数在页面加载完毕后执行一次,现在是方便隐藏网页内容,每次加载进度的时候都会执行一次 js-code

位置 popweb 已经处理了,大小的话你期望怎么控制?是传递大小参数(已支持),还是窗口根据网页大小来调整?

posframe 显示 eaf 的 buffer 就可以调整位置和大小了

Js那个接口我看见了的,现在似乎不能单独像eaf那样在启动窗口之后再调用,每次都要通过pop-start调?

位置大小也是一样,有是有了。不过怎么在pop-start启动之后再次调整位置?

我的需求主要是,窗口启动之后要一直存在(可以隐藏),要能够通过js或者elisp控制和调整。

现在pop-web的主要场景是每次调用重新开一个窗口,这对预览来说就太慢了。

这个思路倒没试过。以前只是发现两者不能同时出现在同一个位置,会互相遮挡。 :+1:

EAF是同时支持多个frame的

现在也只有一个窗口,只是没有那么灵活的控制接口

我再去试试。

@manateelazycat 刚才试了一下,的确没办法在已经打开popweb窗口的情况下执行 js代码。

execute_js_code不接受外部参数,popweb-call-async每次都会打开一个新的网页。需要增加接口,对现有窗口发送js代码。

你试遇到一个latex公式就弹出一下窗口,还是要打开窗口不动,一直发送新的公式给窗口?

详细说一下你的需求描述,不说实现。

我一会给车充电的时候,尝试写一个补丁试一下,我看了katex.js的文档,还挺简单的

遇到公式就弹出窗口,当编辑公式的时候这个窗口能够实时渲染当前的变化,直到光标离开公式窗口才消失。 :+1:

那判断光标处是否有公式的代码有吗?

KaTex.js 这玩意主要是要搞好多字体啊。 :sob:

有,前面的帖子已经列出来了