Թողարկվել է 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