想知道现在Emacs的GUI是如何发展的


#127

浏览器引擎又不是唯一出路。我觉得用老式webkit还不如用Qt Gtk,感觉你方向有点歪

关于EAF在Windows下跑,我倒是有点想法,Win32API里就有SetParent这种类似reparent的函数。不能用dbus应该可以用tcp传输。只是可惜最近不怎么用windows了


#128

目的就是要吃掉你的内存,不然你怎么让你换电脑。。。


#129

Windows 有类似的API, 应该可以实现, 对Windows编程不熟悉. Mac 要能跑 EAF 就好了, 我就有空修 EAF 的bug了.


#130

你这么说懒猫要气死啦 :joy::joy::joy:


#131

gtk,qt又不是排版引擎,不是一个概念,浏览器的核心就是这个引擎,用来渲染html的,当然改一下也可以渲染类似word文档,这个东西还是有点复杂的,不是随便就可以撸一个,一般得积累多年。目前开源的比如firefox一般是基于cairo,谷歌的是基于skia,跟gtk关系不大

你要是说用gtk或qt的富文本控件,那就太low了,一般没有编辑器会用,功能很有限


#132

应该不会吧,感觉人家心态很好,一心在技术上


#133

排版引擎是指获取XML CSS这些渲染出最终页面的?那Qt不是也有QML类似的么。

顺便搜了一下你说的Cairo和Skia。这两个不都是2D图形库?

个人理解你的意思是想给Emacs做类似MVVM这样的模型


#134

QML要看功能够不够用, 能不能绘制自定义的复杂的东西. 微软office word新版文件格式好像用的是xml, qml如果能渲染, 并且能编辑office文件, 那说明功能是够用的, 算作排版引擎. 如果这样的话, 它应该跟webkit也差不多了.

cario和skia是很底层的跨平台2D绘图库, 一般排版引擎都是基于这样的库进行排版的, 有点像游戏, 给你一个画板, 自己画, 基本不用控件, 因为要排版的内容太灵活, 而且还需要实时编辑, 动态多变. 所以一般选择自绘, 这样才能有最好的体验, 所以工作量很大.

Emacs内部现在就有排版引擎, 只不过主要针对文本, 对更复杂的元素支持很差, 而且是按照一行一行(文本行)来排的, 比如一行里放了一张图片, 那么这一行的高度就是图片的高度, 即使图片左边或右边有很大的空白, 也只能放一行文字.

emacs有个widget库, 用来在buffer里显示一些控件, 不过体验都很差, 按钮还好, 输入框是用空格字符来实现的, 如果键盘不是替代模式, 你在它的输入框里输入字符, 它输入框就会慢慢变长. 这个库也是按行排版的, 也有上面的限制.


#135

所以現在的人都不知道 Common Lisp/Lisp Machine 的 Presentation 是啥了么。


#136

slime的那种?


#137

SLIME/SLY 沒有 Presentation。但 CLIM 是基于 Presentation 的。

http://bitsavers.informatik.uni-stuttgart.de/pdf/symbolics/software/genera_8/Programming_the_User_Interface.pdf


#138

flutter desktop 稳定一些了是不是也可以?


#139

flutter只是一套普通的sdk而已,跟gtk差不多