Թողարկվել է notcurses v1.4.1-ը` գրադարան ժամանակակից տեքստային միջերեսների համար


Թողարկվել է notcurses v1.4.1-ը` գրադարան ժամանակակից տեքստային միջերեսների համար

Թողարկվել է notcurses v1.4.x գրադարանի նոր տարբերակը «սագան շարունակվում է: վու-թանգ! վու-թանգ»։

Notcurses-ը TUI գրադարան է ժամանակակից տերմինալների էմուլյատորների համար: Բառացի թարգմանված՝ ոչ հայհոյանքներ: Այն գրված է C-ով, օգտագործելով C++-safe վերնագրեր: Փաթաթանները հասանելի են Ժանգոտվել, C ++ и Python.

Ինչ է դա. գրադարան, որը պարզեցնում է բարդ TUI-ները ժամանակակից տերմինալների էմուլյատորների վրա՝ առավելագույնս աջակցելով վառ գույներին և Յունիկոդին: Անեծքներին պատվիրակված բազմաթիվ առաջադրանքներ կարող են իրականացվել ոչ անեծքների միջոցով (և հակառակը):

Ինչ չէ. X/Open հայհոյանքների համատեղելի իրականացում կամ գոյություն ունեցող համակարգերում ncurses-ի փոխարինում:

Notcurses-ը հնացնում է X/Open Curses API-ը, որը տրամադրվում է որպես Single UNIX Specification-ի մաս: Այս հստակեցումը վաղուց հնացած է և, օրինակ, չի աջակցում տերմինալի գործառույթներին, ինչպիսիք են չինդեքսավորված 24-բիթանոց գույնը: Որպես այդպիսին, notcurses-ը չի փոխարինում հայհոյանքներին: Այն ավելի քիչ շարժական է և, անկասկած, փորձարկված է ավելի քիչ սարքավորումների վրա:
Հնարավորության դեպքում notcurses-ն օգտագործում է ncurses-ով տրամադրված տերմինֆո գրադարանը՝ մեծապես օգուտ քաղելով դրա շարժունակությունից:
Notcurses-ը բացում է առաջադեմ գործառույթներ՝ աշխատանքային կայանների, հեռախոսների, նոութբուքերի և պլանշետների օգտատերերի հետ շփվելու համար:

Ինչու՞ օգտագործել այս ոչ ստանդարտ գրադարանը:

  • Թելերի անվտանգությունը և արդյունավետ օգտագործումը բազմաթելային ծրագրերում եղել են դիզայնի ուշադրությունը հենց սկզբից:

  • Ավելի լավ ձևաչափված API X/Open-ի համեմատ.

    • Արտահանված նույնացուցիչները նախածանցով են՝ անունների տարածության բախումներից խուսափելու համար:

    • Գրադարանի օբյեկտի ֆայլը արտահանում է նիշերի նվազագույն շարք: Գործնականում, ստատիկ կոդը օգտագործվում է միայն տողերի վերնագրերի համար: Սա հեշտացնում է կոմպիլյատորի օպտիմալացումը և նվազեցնում բեռնման ժամանակը:

  • Բոլոր API-ներն աջակցում են համընդհանուր նիշերի հավաքածուն (Յունիկոդ): Բջջային API-ն հիմնված է հայեցակարգի վրա Unicode-ի ընդլայնված գրաֆեմային կլաստեր.

  • Տեսողական առանձնահատկություններ, ներառյալ պատկերներ, տառատեսակներ, տեսանյութեր, բարձր հակադրություն ունեցող տեքստեր, սփրայթներ և թափանցիկ տարածքներ: Բոլոր API-ները բնիկորեն աջակցում են 24-բիթանոց գույնին՝ ըստ անհրաժեշտության քվանտացված տերմինալի կողմից:

  • Apache2 լիցենզիա, ի տարբերություն դրամա մի քանի ակտերում, որը հանդիսանում է ncurses լիցենզիան (վերջինս ամփոփված է որպես «ՄԻՏ-X11-ի վերաձեւակերպում»):

Նախորդ 1.1.0-ի զգալի թողարկումից ի վեր ավելացվել են հսկայական թվով հնարավորություններ: Հիմնական փոփոխությունները.

  • Ընթերցանության վիդջեթ՝ ազատ ձևի տողեր մուտքագրելու համար, որոնք կապված են ընթերցման տողերի հետ

  • Ենթագործընթացի վիդջեթ՝ ենթապրոցես ստեղծելու, այն կառավարելու և դրա արդյունքները հետ ուղարկելու համար:

  • Linux 5.3+-ն օգտագործում է նոր clone3+pidfd մեխանիզմը՝ առանց ռասայական պայմանների գործընթացները կառավարելու համար:

  • Fdplane վիջեթ՝ կամայական ֆայլի նկարագրիչը հարթությունում (որի վրա կառուցված է ենթագործընթացը) հոսքի համար։ Երկուսն էլ թույլ են տալիս հետադարձ զանգերին ոճավորել կամ այլ կերպ շահարկել տեքստը:

  • Ինքնաթիռների ռոտացիա և տեսողական էֆեկտներ: Վիզուալիզացիաների բեռնում հիշողությունից: Պատահական RGBA/BGRx բլիթինգ:

  • Ճաշացանկը կարող է տեղադրվել վերևի և ներքևի հարթություններից որևէ մեկի (կամ երկուսի վրա):

  • Մեծ բարելավումներ Direct ռեժիմում:

  • Polyfills, գրադիենտներ և բարձր հակադրություն տեքստ:

  • Որպես օրինակ ավելացվել է Tetris-ը:

  • Marek Habersack-ի C++ փաթաթիչներն այժմ հնարավորություն ունեն բացառություններ գցել (անհրաժեշտության դեպքում):

  • Python-ը և Rust FFI-ն թարմացվել և փորձարկվել են:

Տեսանյութի ցուցադրում հեղինակի մեկնաբանություններով
Գիրքը «Hacking The Planet! Notcourses-ի հետ» հեղինակից

Source: linux.org.ru

Добавить комментарий