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


Megjelent a notcurses v1.4.1 — 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 azt jelenti – nem átkok (not curses). C nyelven készült, a C++-barát fejek használatával. Elérhetők wrapper-ek Rust, C++ és Python.

Mi ez: egy könyvtár, amely leegyszerűsíti a bonyolult TUI-kat a modern terminálemulátorokon, maximálisan támogatja a fényes színeket és az Unicode-ot. Sok feladat, amelyet a curses kezel, elvégezhető a notcurses segítségével (és fordítva).

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

A Notcurses elhagyja az X/Open Curses API-t, amely a Single UNIX Specification részeként érkezik. Ez a specifikáció régóta elavult, és például nem támogatja a terminál olyan funkcióit, mint a nem indexelt 24-bites szín. Ennek megfelelően a notcurses nem helyettesíti a curses-t. Kevésbé hordozható, és határozottan kevesebb hardveren tesztelték.
Amikor csak lehetséges, a notcurses a ncurses-szal együtt szállított terminfo könyvtárat használja, nagy hasznot húzva annak hordozhatóságából.
A Notcurses kiterjesztett funkciókat nyújt a felhasználók interakciójához munkaállomásokon, telefonokon, laptopokon és táblagépeken.

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

  • A szálbiztonság és a hatékony felhasználás a több szálas programokban már a tervezés során figyelembe lett véve.

  • Helyesebben kialakított API az X/Open-hoz képest:

    • Az exportált azonosítók prefixet kapnak, hogy elkerüljék a névtér ütközéseket.

    • A könyvtár objektumfájlja a minimális számú szimbólumot exportál. Ahol indokolt, ott statikus kódot használnak csak az alacsony szintű fejlécekhez. Ez megkönnyíti a fordítóoptimalizálást és csökkenti a betöltési időt.

  • Minden API kezdetben támogatja az univerzális szimbólumszettet (Unicode). A cellákhoz készült API a következő fogalomra alapoz: Unicode kiterjesztett grafémaklaszter.

  • Látványos lehetőségek, beleértve a képeket, betűtípusokat, videókat, nagy kontrasztú szöveget, sprite-okat és átlátszó területeket. Minden API natívan támogatja a 24-bites színt, szükség szerint quantálva a terminálhoz.

  • Apache2 licenc, szemben a dráma több felvonásban, ami a ncurses licenc (az utolsó úgy összegezhető, mint „MIT-X11 újrafogalmazása”).

Az előző jelentős kiadás óta 1.1.0 rengeteg új funkció került hozzáadásra. Főbb változások:

  • A widget egyedi formájú sztringek olvasására szolgál, közvetlen kapcsolatban a sztringekkel.

  • Subprocess widget egy új alprocessz generálására, irányítására és az eredmények visszaáramlására.

  • Linux 5.3+ verzióban új clone3+pidfd mechanizmus kerül bevezetésre a folyamatok versenyhelyzet nélküli kezelésére.

  • Fdplane widget, amely lehetővé teszi bármely fájl leíró folyamatos továbbítását a síkra (ahol az alprocessz építve van). Mindkettő lehetővé teszi visszahívások stílusozását vagy egyéb szövegfeldolgozást.

  • Síklapok és vizuális effektusok forgatása. Vizualizációk betöltése memóriából. Szabad RGBA/BGRx blittelés.

  • A menü tetszőleges (vagy mindkét) felső és alsó síkon elhelyezhető.

  • Jelentős fejlesztések a Direct módban.

  • Polyfill-ek, gradientek és magas kontrasztú szöveg.

  • Tetris hozzáadása mint példa.

  • A C++ wrapper-ek Marek Habersack-tól lehetőséget kaptak kivételek dobására (ha szükséges).

  • A Python és Rust FFI frissítésre és tesztelésre került.

Videó bemutató, az író kommentárjaival.
A 'Hacking The Planet! with Notcurses' című könyv az írótól.

Forrás: linux.org.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster