notcurses v1.4.1 已发布 - 现代文本界面的库


notcurses v1.4.1 已发布 - 现代文本界面的库

新版本的 notcurses v1.4.x 库已发布“传奇仍在继续!” 武堂! 武堂!”

Notcurses 是一个用于现代终端模拟器的 TUI 库。 按字面意思翻译——不是咒骂。 它是用 C 语言编写的,使用 C++ 安全头文件。 包装可用于 , C + +中 и 蟒蛇.

它是什么:一个简化现代终端仿真器上复杂 TUI 的库,最大限度地支持明亮的颜色和 Unicode。 许多委托给curses 的任务可以使用notcurses 来执行(反之亦然)。

它不是什么:X/Open Curses 的兼容实现或现有系统上 ncurses 的替代品。

Notcurses 不推荐使用作为 Single UNIX 规范的一部分提供的 X/Open Curses API。 该规范早已过时,例如,不支持非索引 24 位颜色等终端功能。 因此,notcurses 并不能替代curses。 它的便携性较差,并且在较少的硬件上进行了测试。
只要有可能,notcurses 都会使用 ncurses 提供的 terminfo 库,从而大大受益于其可移植性。
Notcurses 提供了与工作站、手机、笔记本电脑和平板电脑上的用户交互的高级功能。

为什么要使用这个非标准库?

  • 多线程程序中的线程安全和高效使用从一开始就是设计考虑的因素。

  • 与 X/Open 相比,格式更良好的 API:

    • 导出的标识符带有前缀以避免命名空间冲突。

    • 库目标文件导出最小的字符集。 在实际情况下,静态代码仅用于行标题。 这使得优化编译器变得更加容易并减少加载时间。

  • 所有 API 本身都支持通用字符集 (Unicode)。 Cell API 基于以下概念 Unicode 的扩展字素簇.

  • 视觉功能包括图像、字体、视频、高对比度文本、精灵和透明区域。 所有 API 本身都支持 24 位颜色,并根据终端需要进行量化。

  • Apache2 许可证,不同于 话剧 在几个行为中,这就是 ncurses 许可证(后者被概括为“MIT-X11 的重新制定”)。

自上一个重要版本 1.1.0 以来,添加了大量功能。 主要变化:

  • 用于输入链接到阅读字符串的自由格式字符串的阅读小部件

  • 一个子流程小部件,用于生成子流程、管理子流程并将其结果流回。

  • Linux 5.3+使用新的clone3+pidfd机制来管理没有竞争条件的进程。

  • Fdplane 小部件,用于将任意文件描述符流式传输到平面(在其上构建子进程)。 两者都允许回调来设置样式或以其他方式操作文本。

  • 平面的旋转和视觉效果。 从内存加载可视化。 随机 RGBA/BGRx 位块传送。

  • 菜单可以放置在顶部和底部平面中的一个(或两个)上。

  • 直接模式的重大改进。

  • Polyfill、渐变和高对比度文本。

  • 添加了俄罗斯方块作为示例。

  • Marek Habersack 的 C++ 包装器现在能够抛出异常(如果需要)。

  • Python 和 Rust FFI 已更新并经过测试。

带有作者评论的视频演示
《黑客攻击地球!》一书与Notcourses”来自作者

来源: linux.org.ru

添加评论