Megjelent a notcurses v1.4.1 - egy könyvtár a modern szöveges felületekhez


Megjelent a notcurses v1.4.1 - egy könyvtár a modern szöveges felületekhez

Megjelent a notcurses v1.4.x könyvtár új verziója „A saga folytatódik! Wu Tang! Wu Tang!"

A Notcurses egy TUI könyvtár a modern terminálemulátorokhoz. Szó szerint lefordítva – nem átkok. C-ben van írva, C++-biztos fejlécekkel. Csomagolóanyag elérhető Rozsda, C + + и Piton.

Mi ez: egy könyvtár, amely leegyszerűsíti az összetett TUI-kat a modern terminálemulátorokon, maximálisan támogatja az élénk színeket és a Unicode-kódot. Sok átkosra delegált feladat végrehajtható a notcurses használatával (és fordítva).

Ami nem: Az X/Open curses kompatibilis megvalósítása vagy az ncurses helyettesítése a meglévő rendszereken.

A Notcurses megszünteti az X/Open Curses API-t, amely az egységes UNIX specifikáció részeként biztosított. Ez a specifikáció régóta elavult, és például nem támogatja a terminálfunkciókat, például a nem indexelt 24 bites színeket. Mint ilyen, a notcurses nem helyettesíti az átkokat. Kevésbé hordozható, és határozottan kevesebb hardveren tesztelték.
Amikor csak lehetséges, a notcurses az ncurses-hez mellékelt terminfo könyvtárat használja, ami nagy hasznot húz a hordozhatóságából.
A Notcurses fejlett funkciókat nyit meg a munkaállomásokon, telefonokon, laptopokon és táblagépeken lévő felhasználókkal való interakcióhoz.

Miért használja ezt a nem szabványos könyvtárat?

  • A szálbiztonság és a hatékony használat a többszálú programokban kezdettől fogva tervezési szempont volt.

  • Jobban formázott API az X/Openhez képest:

    • Az exportált azonosítók előtaggal vannak ellátva a névterek ütközésének elkerülése érdekében.

    • A könyvtárobjektum fájl minimális karakterkészletet exportál. Ahol praktikus, a statikus kódot csak a sorfejlécekhez használjuk. Ez megkönnyíti a fordító optimalizálását és csökkenti a betöltési időt.

  • Minden API natívan támogatja az univerzális karakterkészletet (Unicode). A cella API ezen a koncepción alapul A Unicode kiterjesztett grafikus fürtje.

  • Vizuális funkciók, köztük képek, betűtípusok, videók, nagy kontrasztú szöveg, sprite-ok és átlátszó területek. Minden API natívan támogatja a 24 bites színt, amelyet a terminál igény szerint kvantál.

  • Apache2 licenc, ellentétben dráma több törvényben, ami az ncurses licenc (ez utóbbit a "MIT-X11 átalakítása"-ként foglalják össze).

Az előző, jelentős 1.1.0-s kiadás óta rengeteg szolgáltatás került hozzáadásra. Főbb változások:

  • Olvasó widget szabad formátumú karakterláncok bevitelére, amelyek olvasási karakterláncokhoz vannak kapcsolva

  • Alfolyamat widget részfolyamatok létrehozásához, kezeléséhez és eredményeinek visszaküldéséhez.

  • A Linux 5.3+ az új clone3+pidfd mechanizmust használja a folyamatok versenyfeltétel nélküli kezelésére.

  • Fdplane widget tetszőleges fájlleíró streameléséhez a síkra (amelyre az alfolyamat épül). Mindkettő lehetővé teszi a visszahívásokat a szöveg stílusához vagy más módon történő manipulálásához.

  • Síkok elforgatása és vizuális effektusok. Vizualizációk betöltése a memóriából. Véletlenszerű RGBA/BGRx blitting.

  • A menü elhelyezhető a felső és alsó síkok egyikére (vagy mindkettőre).

  • Nagy fejlesztések a közvetlen módban.

  • Többszörös kitöltések, színátmenetek és nagy kontrasztú szöveg.

  • Példaként hozzáadtuk a Tetrist.

  • A Marek Habersack C++ wrapperei mostantól kivételeket is dobhatnak (ha szükséges).

  • Python és Rust FFI frissítve és tesztelve.

Videó bemutató a szerző megjegyzéseivel
A „Hacking The Planet! nem tanfolyamokkal" a szerzőtől

Forrás: linux.org.ru

Hozzászólás