Ilmus notcurses v1.4.1 — teek kaasaegsetele tekstilistele liidestele.


Ilmus notcurses v1.4.1 — teek kaasaegsetele tekstilistele liidestele.

Välja on uus notcurses raamatukogude versioon v1.4.x «lugu jätkub! wu-tang! wu-tang!»

Notcurses on TUI raamatukogu kaasaegsete terminaliemulaatorite jaoks. Tõlkes tähendab see – ei ole need sõimud (not curses). See on kirjutatud C-s, kasutades C++-ohutuid peadokumente. Saadaval on mähised Rust, C++ ja Python.

Mis see on: raamatukogu, mis lihtsustab keerulisi TUI-id kaasaegsetes terminaliemulaatorites, toetades maksimaalselt eredaid värve ja Unicode'i. Paljusid ülesandeid, mida on delegeritud curses'ile, saab teostada notcurses'i abil (ja vastupidi).

Mida see ei ole: X/Open curse'ide ühilduv rakendus või ncurses'i asendus olemasolevates süsteemides.

Notcurses loobub X/Open Curses API-st, mis on osa Single UNIX Specification'ist. See spetsifikatsioon on juba ammu aegunud ja näiteks ei toeta sellist terminalifunktsionaalsust nagu indekseerimata 24-bitine värv. Seega ei ole notcurses curses'i asendus. See on vähem portatiivne ja on kindlasti testitud väiksemas arvust seadmetest.
Kui võimalik, kasutab notcurses terminfo raamatukogu, mis on kaasas ncurses'iga, saavutades selle portatiivsusest suurt kasu.
Notcurses lai avada laiemad funktsionaalsused kasutajate interaktsiooniks tööjaamades, telefonides, sülearvutites ja tahvelarvutites.

Miks kasutada seda mitte-standardset teeki?

  • Kasutajate ohutus ja tõhus ressursside kasutamine mitme lõimega programmides olid projekti algusest peale keskseiks kaalutlusteks.

  • Paremini struktureeritud API võrreldes X/Open-ga:

    • Eksporditavad identifikaatorid omavad eesliidet, et vältida nimekõlksude tekkimist.

    • Raamatukogu objektifail ekspordib minimaalset sümbolite kogumit. Seal, kus see on asjakohane, kasutatakse staatilist koodi ainult ridade pealkirjades. See lihtsustab kompilaatori optimeerimist ja vähendab laadimisaega.

  • Kõik API-d toetasid algselt universaalset sümbolite kogumit (Unicode). Lahtrite API põhineb kontseptsioonil Unicode’i laiendatud grapheemiklastrist.

  • Visuaalsed võimalused, sealhulgas pildid, fondid, videod, kõrge kontrastsusega tekst, sprite-efektid ja läbipaistvad alad. Kõik API-d toetavad looduslikult 24-bitist värvi, kvantitud vastavalt vajadusele terminali jaoks.

  • Apache2 litsents, erinevalt draamast mitmeid tegevusi, mis on ncurses litsents (viimane võetakse kokku kui „MIT-X11 ümberkirjutamine“).

Alates eelmisest olulistest väljalaskest 1.1.0 on lisatud tohutult palju funktsioone. Peamised muudatused:

  • Rohkem sisendi ridade lugemise vidin soovitud formaadiks, seostades selle lugemisridadel.

  • Alamprotsessi vidin, mis genereerib alamprotsessi, haldab seda ja voogesitab selle tulemused tagasi.

  • Linuxis 5.3+ kasutatakse uut mehhanismi clone3+pidfd, et hallata protsesse ilma võistluse tingimusteta.

  • Fdplane vidin, mis voogesitab suvalist failideskirjutust tasapinnale (millele alamprotsess on üles ehitatud). Mõlemad võimaldavad tagasikutsumisi stiilida või muul viisil teksti töödelda.

  • Tasandite pööramine ja visuaalsed efektid. Visualiseerimiste laadimine mälust. Suvaline RGBA/BGRx-blit.

  • Menüüsid saab paigutada mis tahes (või mõlemasse) ülemisele ja alumisele tasandile.

  • Suured parendused Direct režiimis.

  • Polyfills, gradientid ja kõrgkontrastne tekst.

  • Tetris on lisatud näidisena.

  • Marek Habersacki C++ mähised on saanud võimaluse erandeid visata (kui vaja).

  • Python ja Rust FFI on uuendatud ja testitud.

Video demovideo autori kommentaaridega
Raamat «Hacking The Planet! with Notcurses» autorilt

Allikas: linux.org.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster