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

添加評論