{"id":81463,"date":"2020-05-13T13:42:49","date_gmt":"2020-05-13T11:42:49","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vyshla-notcurses-v1-4-1-biblioteka-dlya-sovremennyh-tekstovyh-interfejsov"},"modified":"2020-05-13T13:42:49","modified_gmt":"2020-05-13T11:42:49","slug":"vyshla-notcurses-v1-4-1-biblioteka-dlya-sovremennyh-tekstovyh-interfejsov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/vyshla-notcurses-v1-4-1-biblioteka-dlya-sovremennyh-tekstovyh-interfejsov","title":{"rendered":"A fost lansat notcurses v1.4.1 - o bibliotec\u0103 pentru interfe\u021be textuale moderne","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/19139\/original.jpg\" itemprop=\"contentURL\"><br \/>\n      <img decoding=\"async\" alt=\"A fost lansat notcurses v1.4.1 - o bibliotec\u0103 pentru interfe\u021be textuale moderne\" src=\"\/wp-content\/uploads\/2020\/05\/973d5cc67751ccd145585d50ec2cba73.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>    <\/a><\/p>\n<p>A ap\u0103rut o nou\u0103 versiune a bibliotecii notcurses v1.4.x \u00absaga continu\u0103! wu-tang! wu-tang!\u00bb<\/p>\n<p><noindex><noindex><\/p>\n<p>Notcurses este o bibliotec\u0103 TUI pentru emulatoare de terminal moderne. Tradus literal \u2013 f\u0103r\u0103 blesteme (not curses). Este scris\u0103 \u00een C, folosind anteturi sigure C++. Exist\u0103 wrapperi pentru <a rel=\"nofollow\" href=\"https:\/\/crates.io\/crates\/notcurses\">Rust<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/dankamongmen\/notcurses\/issues\/212\">C++<\/a> \u0219i <a rel=\"nofollow\" href=\"https:\/\/pypi.org\/project\/notcurses\">Python<\/a>.<\/p>\n<p><\/noindex><\/noindex><\/p>\n<p>Ce este: o bibliotec\u0103 care simplific\u0103 TUI-urile complexe pe emulatoarele terminale moderne, maximiz\u00e2nd suportul pentru culori vii \u0219i Unicode. Multe sarcini delegate de curses pot fi realizate utiliz\u00e2nd notcurses (\u0219i invers).<\/p>\n<p>Ce nu este: o implementare compatibil\u0103 cu X\/Open curses sau o \u00eenlocuire a ncurses pe sistemele existente.<\/p>\n<p>Notcurses renun\u021b\u0103 la API-ul X\/Open Curses, care face parte din Specifica\u021bia Single UNIX. Aceast\u0103 specifica\u021bie este demodat\u0103 de mult timp \u0219i, de exemplu, nu suport\u0103 func\u021bionalit\u0103\u021bi precum culorile 24-bit f\u0103r\u0103 indexare. A\u0219adar, notcurses nu este o \u00eenlocuire pentru curses. Este mai pu\u021bin portabil\u0103 \u0219i a fost definitiv testat\u0103 pe un num\u0103r mai mic de echipamente.<br \/>\nAtunci c\u00e2nd este posibil, notcurses utilizeaz\u0103 biblioteca terminfo, livrat\u0103 \u00eempreun\u0103 cu ncurses, extr\u0103g\u00e2nd un beneficiu mare din portabilitatea acesteia.<br \/>\nNotcurses deschide func\u021bionalit\u0103\u021bi extinse pentru interac\u021biunea cu utilizatorii pe sta\u021bii de lucru, telefoane, laptopuri \u0219i tablete.<\/p>\n<p>De ce s\u0103 folose\u0219ti aceast\u0103 bibliotec\u0103 non-standard?<\/p>\n<ul>\n<li>\n<p>Siguran\u021ba cursurilor \u0219i utilizarea eficient\u0103 \u00een programele multi-threaded au fost aspecte de proiectare \u00eenc\u0103 de la \u00eenceput.<\/p>\n<\/li>\n<li>\n<p>Un API mai bine structurat \u00een compara\u021bie cu X\/Open:<\/p>\n<ul>\n<li>\n<p>Identificatorii exporta\u021bi au un prefix pentru a evita coliziunile \u00een spa\u021biile de nume.<\/p>\n<\/li>\n<li>\n<p>Fi\u0219ierul obiect al bibliotecii export\u0103 un set minim de simboluri. Acolo unde este posibil, se folose\u0219te cod static doar pentru antetele de tip minor. Acest lucru ajut\u0103 la optimizarea compilatorului \u0219i reduce timpul de \u00eenc\u0103rcare.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<noindex><\/p>\n<p>Toate API-urile suport\u0103 ini\u021bial un set de simboluri universale (Unicode). API-ul pentru celule se bazeaz\u0103 pe conceptul de <a rel=\"nofollow\" href=\"https:\/\/unicode.org\/reports\/tr29\/\">Clusterul de Grapheme Extins Unicode<\/a>.<\/p>\n<p><\/noindex>\n<\/li>\n<li>\n<p>Capabilit\u0103\u021bi vizuale, inclusiv imagini, fonturi, videoclipuri, text cu contrast ridicat, sprite-uri \u0219i zone transparente. Toate API-urile suport\u0103 nativ culoarea 24-bit, cuantificat\u0103 dup\u0103 cum este necesar pentru terminal.<\/p>\n<\/li>\n<li>\n<noindex><\/p>\n<p>Licen\u021ba Apache2, spre deosebire de <a rel=\"nofollow\" href=\"https:\/\/invisible-island.net\/ncurses\/ncurses-license.html\">drama<\/a> \u00een mai multe acte, care este sub licen\u021ba ncurses (ultima fiind rezumat\u0103 ca \u00abreformularea MIT-X11\u00bb).<\/p>\n<p><\/noindex>\n<\/li>\n<\/ul>\n<p>De la ultima versiune semnificativ\u0103 1.1.0, au fost ad\u0103ugate o mul\u021bime de func\u021bii. Principalele modific\u0103ri:<\/p>\n<ul>\n<li>\n<p>Widget pentru citire pentru introducerea unor linii de form\u0103 liber\u0103 legate de linii de citire<\/p>\n<\/li>\n<li>\n<p>Widget subprocess pentru generarea unui subprocess, gestionarea acestuia \u0219i transmiterea rezultatelor \u00eenapoi.<\/p>\n<\/li>\n<li>\n<p>\u00cen Linux 5.3+ este utilizat un nou mecanism clone3+pidfd pentru gestionarea proceselor f\u0103r\u0103 condi\u021bii de competi\u021bie.<\/p>\n<\/li>\n<li>\n<p>Widget Fdplane pentru transmiterea fluxului unui descriptor de fi\u0219ier arbitrar pe un plan (pe care este construit subprocessul). Ambele permit apelurilor de returnare s\u0103 stilizeze sau s\u0103 proceseze textul \u00een alt mod.<\/p>\n<\/li>\n<li>\n<p>Rotirea planurilor \u0219i efecte vizuale. \u00cenc\u0103rcarea vizualiz\u0103rilor din memorie. Blit arbitrary RGBA\/BGRx.<\/p>\n<\/li>\n<li>\n<p>Meniul poate fi plasat pe oricare (sau pe ambele) dintre planurile superioare \u0219i inferioare.<\/p>\n<\/li>\n<li>\n<p>\u00cembun\u0103t\u0103\u021biri semnificative \u00een modul Direct.<\/p>\n<\/li>\n<li>\n<p>Polyfills, grade\u021bi \u0219i text cu contrast ridicat.<\/p>\n<\/li>\n<li>\n<p>Tetris a fost ad\u0103ugat ca exemplu.<\/p>\n<\/li>\n<li>\n<p>\u00cempachet\u0103rile C++ de la Marek Habersack au c\u00e2\u0219tigat capacitatea de a arunca excep\u021bii (dac\u0103 este necesar).<\/p>\n<\/li>\n<li>\n<p>FFI Python \u0219i Rust au fost actualizate \u0219i testate.<\/p>\n<\/li>\n<\/ul>\n<p><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=TvWdUfIStDI\">Demo video cu comentariile autorului<\/a><br \/>\n<a rel=\"nofollow\" href=\"https:\/\/nick-black.com\/dankwiki\/index.php\/Hacking_The_Planet!_with_Notcurses\">Cartea \u00abHacking The Planet! with Notcurses\u00bb de autor<\/a><\/p>\n<p>Sursa: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"http:\/\/www.linux.org.ru\/news\/opensource\/15699897\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u044b\u0448\u043b\u0430 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 notcurses v1.4.x &laquo;the saga continues! wu-tang! wu-tang!&raquo; Notcurses \u044d\u0442\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 TUI \u0434\u043b\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u0432. \u0411\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044f &ndash; \u043d\u0435 \u043f\u0440\u043e\u043a\u043b\u044f\u0442\u0438\u044f (not curses). \u041e\u043d\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0430 \u0421, \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c C++-safe headers. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043e\u0431\u0451\u0440\u0442\u043a\u0438 \u0434\u043b\u044f Rust, C++ \u0438 Python. \u0427\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0435: \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430, \u0443\u043f\u0440\u043e\u0449\u0430\u044e\u0449\u0430\u044f \u0441\u043b\u043e\u0436\u043d\u044b\u0435 TUI \u043d\u0430 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430\u0445, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u044f\u0440\u043a\u0438\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":81464,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-81463","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/news\/vyshla-notcurses-v1-4-1-biblioteka-dlya-sovremennyh-tekstovyh-interfejsov\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u0448\u043b\u0430 notcurses v1.4.1 \u2014 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/vyshla-notcurses-v1-4-1-biblioteka-dlya-sovremennyh-tekstovyh-interfejsov\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-13T11:42:49+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-13T11:42:49+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47A fost lansat\u0103 notcurses v1.4.1 \u2014 bibliotec\u0103 pentru interfe\u021be textuale moderne | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/vyshla-notcurses-v1-4-1-biblioteka-dlya-sovremennyh-tekstovyh-interfejsov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u0448\u043b\u0430 notcurses v1.4.1 \u2014 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 | ProHoster","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/vyshla-notcurses-v1-4-1-biblioteka-dlya-sovremennyh-tekstovyh-interfejsov","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-13T11:42:49+00:00","article:modified_time":"2020-05-13T11:42:49+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"81463","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:57:25","updated":"2022-09-29 16:14:56","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/81463","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=81463"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/81463\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/81464"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=81463"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=81463"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=81463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}