{"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\/nl\/blog\/news\/vyshla-notcurses-v1-4-1-biblioteka-dlya-sovremennyh-tekstovyh-interfejsov","title":{"rendered":"Notcurses v1.4.1 is uitgebracht \u2014 een bibliotheek voor moderne tekstinterfaces","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=\"Notcurses v1.4.1 is uitgebracht \u2014 een bibliotheek voor moderne tekstinterfaces\" src=\"\/wp-content\/uploads\/2020\/05\/973d5cc67751ccd145585d50ec2cba73.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>    <\/a><\/p>\n<p>De nieuwe versie van de notcurses bibliotheek v1.4.x &laquo;de saga gaat verder! wu-tang! wu-tang!&raquo;<\/p>\n<p><noindex><noindex><\/p>\n<p>Notcurses is een TUI-bibliotheek voor moderne terminalemulators. Letterlijk vertaald \u2013 geen vloeken (not curses). Het is geschreven in C, met gebruik van C++-veilige headers. Wrappers zijn beschikbaar voor <a rel=\"nofollow\" href=\"https:\/\/crates.io\/crates\/notcurses\">Rust<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/dankamongmen\/notcurses\/issues\/212\">C++<\/a> en <a rel=\"nofollow\" href=\"https:\/\/pypi.org\/project\/notcurses\">Python<\/a>.<\/p>\n<p><\/noindex><\/noindex><\/p>\n<p>Wat het is: een bibliotheek die complexe TUI's op moderne terminalemulators vereenvoudigt, met maximale ondersteuning voor heldere kleuren en Unicode. Veel taken die aan curses werden gedelegeerd, kunnen ook met notcurses worden uitgevoerd (en vice versa).<\/p>\n<p>Wat het niet is: een compatibele implementatie van X\/Open curses of een vervanging van ncurses op bestaande systemen.<\/p>\n<p>Notcurses laat de X\/Open Curses API achterwege, die wordt geleverd als onderdeel van de Single UNIX Specification. Deze specificatie is verouderd en ondersteunt bijvoorbeeld geen terminalfunctionaliteit zoals niet-ge\u00efndexeerde 24-bits kleur. Daarom is notcurses geen vervanging voor curses. Het is minder draagbaar en is beslist getest op een kleiner aantal hardware.<br \/>\nWanneer mogelijk, maakt notcurses gebruik van de terminfo-bibliotheek die samen met ncurses wordt geleverd, en haalt daar veel voordeel uit qua draagbaarheid.<br \/>\nNotcurses biedt uitgebreide functionaliteit voor gebruikersinteractie op werkstations, telefoons, laptops en tablets.<\/p>\n<p>Waarom deze niet-standaard bibliotheek gebruiken?<\/p>\n<ul>\n<li>\n<p>Thread safety en effici\u00ebnt gebruik in multi-threaded programma's waren vanaf het begin ontwerpoverwegingen.<\/p>\n<\/li>\n<li>\n<p>Een beter ontworpen API in vergelijking met X\/Open:<\/p>\n<ul>\n<li>\n<p>Ge\u00ebxporteerde identificatoren hebben een voorvoegsel om naamruimteconflicten te voorkomen.<\/p>\n<\/li>\n<li>\n<p>Het objectbestand van de bibliotheek exporteert een minimale set symbolen. Waar mogelijk wordt statische code alleen voor headerbestanden gebruikt. Dit vergemakkelijkt de compileroptimalisatie en vermindert de laadtijd.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<noindex><\/p>\n<p>Alle API's ondersteunen vanaf het begin een universele set symbolen (Unicode). De API voor cellen is gebaseerd op het concept <a rel=\"nofollow\" href=\"https:\/\/unicode.org\/reports\/tr29\/\">Unicode&rsquo;s Extended Grapheme Cluster<\/a>.<\/p>\n<p><\/noindex>\n<\/li>\n<li>\n<p>Visuele mogelijkheden, inclusief afbeeldingen, lettertypen, video, hoogcontrast tekst, sprites en transparante gebieden. Alle API's ondersteunen native 24-bits kleur, gekwantiseerd waar nodig voor de terminal.<\/p>\n<\/li>\n<li>\n<noindex><\/p>\n<p>Apache2-vergunning, in tegenstelling tot <a rel=\"nofollow\" href=\"https:\/\/invisible-island.net\/ncurses\/ncurses-license.html\">dramatiek<\/a> in verschillende delen, die een licentie zijn van ncurses (deze wordt samengevat als &laquo;herformulering van MIT-X11&raquo;).<\/p>\n<p><\/noindex>\n<\/li>\n<\/ul>\n<p>Sinds de vorige belangrijke release 1.1.0 is er een enorme hoeveelheid functies toegevoegd. Belangrijke wijzigingen:<\/p>\n<ul>\n<li>\n<p>Widget voor het lezen van invoer van willekeurige vormen met betrekking tot leesregels.<\/p>\n<\/li>\n<li>\n<p>Subprocess-widget voor het genereren van een subprocess, het beheren ervan en het streamen van zijn resultaten terug.<\/p>\n<\/li>\n<li>\n<p>In Linux 5.3+ wordt een nieuw mechanisme clone3+pidfd gebruikt voor procesbeheer zonder race conditions.<\/p>\n<\/li>\n<li>\n<p>Fdplane-widget voor het streamen van willekeurige bestandsdescriptoren naar het vlak (waar het subprocess op is gebouwd). Beiden stellen terugroepacties in staat om tekst te stylen of op een andere manier te verwerken.<\/p>\n<\/li>\n<li>\n<p>Rotatie van vlakken en visuele effecten. Laden van visualisaties uit geheugen. Willekeurige blitting van RGBA\/BGRx.<\/p>\n<\/li>\n<li>\n<p>Menu's kunnen op een van de (of op beide) bovenste en onderste vlakken worden geplaatst.<\/p>\n<\/li>\n<li>\n<p>Grote verbeteringen in de Direct-modus.<\/p>\n<\/li>\n<li>\n<p>Polyfills, gradients en hoogcontrast tekst.<\/p>\n<\/li>\n<li>\n<p>Tetris is toegevoegd als voorbeeld.<\/p>\n<\/li>\n<li>\n<p>C++ wrappers van Marek Habersack hebben nu de mogelijkheid om uitzonderingen te werpen (indien nodig).<\/p>\n<\/li>\n<li>\n<p>Python en Rust FFI zijn bijgewerkt en getest.<\/p>\n<\/li>\n<\/ul>\n<p><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=TvWdUfIStDI\">Video demo met commentaar van de auteur.<\/a><br \/>\n<a rel=\"nofollow\" href=\"https:\/\/nick-black.com\/dankwiki\/index.php\/Hacking_The_Planet!_with_Notcurses\">Het boek &laquo;Hacking The Planet! with Notcurses&raquo; van de auteur<\/a><\/p>\n<p>Bron: <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.3 - 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\/nl\/blog\/news\/vyshla-notcurses-v1-4-1-biblioteka-dlya-sovremennyh-tekstovyh-interfejsov\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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\/nl\/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\udd47Notcurses v1.4.1 is uitgebracht \u2014 een bibliotheek voor moderne tekstinterfaces | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/news\/vyshla-notcurses-v1-4-1-biblioteka-dlya-sovremennyh-tekstovyh-interfejsov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/81463","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=81463"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/81463\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/81464"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=81463"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=81463"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=81463"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}