Notcurses v1.4.1 har slÀppts - ett bibliotek för moderna textgrÀnssnitt


Notcurses v1.4.1 har slÀppts - ett bibliotek för moderna textgrÀnssnitt

Den nya versionen av biblioteket notcurses v1.4.x "sagan fortsÀtter! wu-tang! wu-tang!" har slÀppts.

Notcurses Ă€r ett TUI-bibliotek för moderna terminalemulatorer. Översatt bokstavligt – inte förbannelser (not curses). Det Ă€r skrivet i C med C++-sĂ€kra headers. Wrapperar finns tillgĂ€ngliga för Rust, C++ och Python.

Vad det Àr: ett bibliotek som förenklar komplexa TUI i moderna terminalemulatorer, med maximal support för klara fÀrger och Unicode. MÄnga uppgifter som delegeras till curses kan utföras med notcurses (och vice versa).

Vad det inte Àr: en kompatibel implementation av X/Open curses eller en ersÀttning för ncurses pÄ befintliga system.

Notcurses avvisar X/Open Curses API som levereras som en del av Single UNIX Specification. Denna specifikation Àr lÀnge förÄldrad och stöder inte terminalfunktioner som icke-indexerad 24-bitars fÀrg. SÄledes Àr notcurses inte en ersÀttning för curses. Den Àr mindre portabel och har definitivt testats pÄ fÀrre enheter.
DÀr det Àr möjligt, anvÀnder notcurses terminfo-biblioteket som levereras tillsammans med ncurses, vilket ger stor nytta av dess portabilitet.
Notcurses öppnar upp för avancerade funktioner för interaktion med anvÀndare pÄ arbetsstationer, telefoner, bÀrbara datorer och surfplattor.

Varför anvÀnda detta icke-standardbibliotek?

  • TrĂ„dsĂ€kerhet och effektiv anvĂ€ndning i flertrĂ„dade program var en designövervĂ€gning frĂ„n början.

  • Ett mer korrekt utformat API jĂ€mfört med X/Open:

    • Exporterade identiteter har ett prefix för att undvika kollisioner i namnrymder.

    • Bibliotekets objektfil exporterar ett minimalt set av symboler. DĂ€r det Ă€r lĂ€mpligt anvĂ€nds statisk kod endast för grundlĂ€ggande rubriker. Detta underlĂ€ttar kompilatoroptimering och minskar laddningstider.

  • Alla API:er stödjer frĂ„n början en universell uppsĂ€ttning tecken (Unicode). API:et för celler baseras pĂ„ konceptet Unicode’s Extended Grapheme Cluster.

  • Visuella möjligheter, inklusive bilder, typsnitt, video, högkontrasttext, sprites och genomskinliga omrĂ„den. Alla API:er stöder ursprungligen 24-bitars fĂ€rg, kvantiserad vid behov för terminalen.

  • Apache2-licens, till skillnad frĂ„n draman i flera akter, vilket Ă€r licensen för ncurses (den senaste sammanfattar som "omformulering av MIT-X11").

Sedan den senaste betydande versionen 1.1.0 har ett stort antal funktioner lagts till. Huvudsakliga Àndringar:

  • Widget för att lĂ€sa in strĂ€ngar av godtycklig form kopplade till lĂ€sstrĂ€ngar.

  • Subprocess-widget för att generera en subprocess, hantera den och strömma tillbaka dess resultat.

  • I Linux 5.3+ anvĂ€nds den nya mekanismen clone3+pidfd för att hantera processer utan race conditions.

  • Fdplane-widgeten för att strömma en godtycklig filbeskrivare till planet (dĂ€r subprocessen byggs). BĂ„da gör det möjligt för callbacks att styla eller pĂ„ annat sĂ€tt bearbeta text.

  • Rotation av plan och visuella effekter. Ladda visualiseringar frĂ„n minnet. Godtycklig RGBA/BGRx-blittning.

  • Menyn kan placeras pĂ„ vilket (eller pĂ„ bĂ„da) av de övre och nedre planen.

  • Stora förbĂ€ttringar i Direct-lĂ€get.

  • Polyfills, gradienter och högkontrasttext.

  • Tetris har lagts till som exempel.

  • C++-wrapperar frĂ„n Marek Habersack har fĂ„tt möjlighet att kasta undantag (om sĂ„ behövs).

  • Python och Rust FFI har uppdaterats och testats.

Videodemonstration med kommentarer frÄn författaren.
Boken "Hacking The Planet! with Notcurses" av författaren.

KĂ€lla: linux.org.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster