2309亚当arsd的11.1版本

原文

arsd11.1

Minigui

调整主题

11.0中略有修改Minigui的主题,但它落后于11.1的计划.这是个重大更改,但这些更改很小.
新主题稍微变浅默认组件的背景色和默认字体,这两者都主要影响Linux,因为窗口上的大多数组件一般使用本地主题.

更改状态栏

现有的状态栏类允许添加带"宽度"的"部分".目前,除非输入0,且它在数组中的最后一个,宽度仅表明普通像素,否则它会填充剩余空间,但我从未实际记录它.这有很多缺点,我想改变它.

问题包括:

1,宽度不会随应用的其余部分一起缩放,这表明较大字体会更快地被截断.

2,宽度不会随窗口大小拉伸,导致浪费空间.

3,默认值很糟糕.如果没有显式添加部件,则它只会对文本使用多个像素,并浪费其余空间.

真正应该做的是,与其他组件一样,某种最小,最大,理想的大小,也许应该给它不同单位.

minigui状态栏当前只支持文本,所以也许应该给它合适的符单位,但最终仍想在那里添加图标,所以也许应该是像素,但更独立于设备,或应该是两个不同的类型.

到那时,如果截断了文本,但想看到它怎么办?如果我想复制/粘贴它怎么办?如果想要一些历史怎么办?也许也应该添加更多功能;

目前,只是克隆最低限度的基本窗口功能.所以可能也会在那里添加,但不会一次添加很多.

cgi.d

embedded_httpd默认值现在是混合,而不是以前在Linux上的进程和其他地方线程.混合较低成本更好地处理长时,但大部分空闲的连接,且在自己使用它几年后,有理由相信它不会破坏太多.

当然,仍需要调整它以使用新的arsd.core统一事件循环,但这仍需要等待.

terminal.d

我已开始用arsd.core,来整合它,但它不会及时11.1标签做好准备.我让它在Linux上的循环中工作,但尚未为窗口做好准备,因此仍未提交代码.

一旦它在两个系统中都工作,也许我会保留它,但我仍不确定,是在纤程中,还是使用消息传递系统,来保留阻塞模式(类似已弃用多年的旧arsd.eventloop整合,但我仍在一些地方使用它,它有它的优点).

不过,它遇见了一个有趣的问题:该如何使用ctrl+c和任务?我需要回答该问题.应该唤醒所有任务吗?

可勾挂它吗?(terminal.d一般会把它转成异常).

我想确实需要有个所有任务的列表,来干净地取消它,所以在代码中搞了个双链列表,但在完成用例前,这些都不稳定.

其他

11.1还将向Dub公开了ico.d模块,并把cgi.d切换至使用IPv6ONLY标志,来支持新的IPv6,让你更好地控制监听方式(用11.0中新添加的--listen标志).

相关推荐
fqbqrr10 天前
2411d,右值与移动
d
fqbqrr5 个月前
2407d,D2024三月会议
d
fqbqrr8 个月前
2403d,d的com哪里错了
d
fqbqrr10 个月前
2402d,d的变参
d
fqbqrr10 个月前
2401d,ddip1027如何支持sql
d
fqbqrr10 个月前
2401d,讨论d串滑动参数
d
fqbqrr1 年前
2312d,D语言单元测试等
d
fqbqrr1 年前
2312d,d语言作为胶水,用C++调用rust
c++·rust·d
fqbqrr1 年前
2312d,把alloca注入调用者域
d
fqbqrr1 年前
2312d,d语言来绑定C++和rust
c++·rust·d