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