{"id":182110,"date":"2026-06-15T14:48:51","date_gmt":"2026-06-15T12:48:53","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/ftxui-7-0-0"},"modified":"2026-06-15T14:48:51","modified_gmt":"2026-06-15T12:48:53","slug":"ftxui-7-0-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/news\/ftxui-7-0-0","title":{"rendered":"FTXUI 7.0.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/23598\/original.png\"><br \/>\n          <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/06\/e7f6f312dcd0e68f6c4a433c8a1f7428.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n        <\/a><\/p>\n<p>        <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/23599\/original.png\"><br \/>\n          <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/06\/e8d95dc05a772de029ec8f802570b7d4.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n        <\/a><\/p>\n<p>        <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/23600\/original.png\"><br \/>\n          <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/06\/1cd61277751493f007d93a4d97577e51.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n        <\/a><\/p>\n<p>        <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/23601\/original.png\"><br \/>\n          <img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/06\/dd383576c3698b6775ac294a5ea4d5c2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n        <\/a><\/p>\n<p><noindex>          <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/23598\/original.png\" class=\"active\"><\/a><\/noindex><\/p>\n<p>          <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/23599\/original.png\"><\/a><\/p>\n<p>          <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/23600\/original.png\"><\/a><\/p>\n<p>          <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/images\/23601\/original.png\"><\/a><\/p>\n<p>      <noindex><\/p>\n<p>13. mai, \u00fcle aasta kestnud arenduse j\u00e4rel, ilmus 7.0.0 platvormidevaheline teek <a rel=\"nofollow\" href=\"https:\/\/github.com\/ArthurSonzogni\/FTXUI\">FTXUI<\/a>, mis on m\u00f5eldud C++ rakenduste loomiseks, millel on tekstip\u00f5hine liides ja mis on jaotatud MIT litsentsi alusel.<\/p>\n<p><\/noindex><\/p>\n<p>Raamatukogu v\u00f5imalused:<\/p>\n<ul>\n<li>funktsionaalne stiil, sarnaselt React JS-iga;<\/li>\n<li>lihtne ja elegantne stiil (autori arvates);<\/li>\n<li>klaviatuuri ja hiire s\u00fcndmuste t\u00f6\u00f6tlemine;<\/li>\n<li>UTF8 ja Unicode tugi;<\/li>\n<li>True Color tugi;<\/li>\n<li>kursori stiili muutmise tugi;<\/li>\n<li>animatsioonide tugi;<\/li>\n<li>joonistamise toimetamine;<\/li>\n<li>ilma kolmandate osapoolte s\u00f5ltuvusteta;<\/li>\n<li>platvormide\u00fclene (Linux\/MacOS, WebAssembly, Windows).<\/li>\n<\/ul>\n<h5>Muudatused<\/h5>\n<p><strong>Dokumentatsioon<\/strong><\/p>\n<ul>\n<li>Dokumentatsiooni genereerimine Doxygeniga on parandatud.<\/li>\n<li>Lisatud oma teema Doxygenile.<\/li>\n<li>Dokumentatsiooni jagamine mitmeks lehek\u00fcljeks.<\/li>\n<\/ul>\n<p><strong>Kompileerimine<\/strong><\/p>\n<ul>\n<li>Lisatud skript tools$ amalgamate.py \"amalgamoituda\" l\u00e4htekoodi genereerimiseks: ftxui.cpp (534 KB), ftxui.hpp (110 KB) ja ftxui_all.hpp (643 KB).<\/li>\n<li>Lisatud C++20 moodulite tugi.<\/li>\n<li>Lisatud Mesoni tugi.<\/li>\n<li>Eemaldatud s\u00f5ltuvus pthread'ist.<\/li>\n<li>Parandatud Bazeli tugi.<\/li>\n<li>Teised t\u00e4iustused.<\/li>\n<\/ul>\n<p><strong>Tagasik\u00e4igu muudatused<\/strong><\/p>\n<ul>\n<li>Nimede muutmine:\n<ul>\n<li>Pixel muutus `Cell'iks<\/li>\n<li>Image muutus Surface'iks<\/li>\n<li>ScreenInteractive muutus App'iks<\/li>\n<li>meetod PixelAt muutus CellAt'iks<br \/>\nTagamaks \u00fchilduvust, on ette n\u00e4htud alias'id ja pealkirjad, et mitte rikkuda olemasolevat koodi.<\/li>\n<\/ul>\n<\/li>\n<li>Kasutatakse std::string_view'i, kus see on v\u00f5imalik, selle asemel et const std::string&amp; kasutada. See tagab parema \u00fchilduvuse stringi litteratega ning v\u00f5imaldab v\u00e4ltida tarbetuid kopeerimisi.<\/li>\n<\/ul>\n<p><strong>Komponendid<\/strong><\/p>\n<ul>\n<li>Signaali p\u00fc\u00fcdmise s\u00fcsteem on t\u00e4iustatud ja moderniseeritud, kasutades POSIX sigaction'i signaalide usaldusv\u00e4\u00e4rseks peitmiseks. Tagatud on topelt terminali taastamise kaitse programmi v\u00e4ljumisel, kasutades aatomset j\u00e4lgimist algse oleku osas. Lisatud on t\u00e4iendavad POSIX signaalide (SIGBUS, SIGSYS kui rikke signaalid, ja SIGQUIT, SIGHUP kui viivitatud l\u00f5petamise signaalid) tugi ja parandatud as\u00fcnkroonsete signaalide turvaprobleemid.<\/li>\n<li>Kohandatud Rendereri kasutamisel on parandatud kursori kuvamise probleem sisemistes konteinerites.<\/li>\n<li>Parandatud kursori positsioneerimine sisestusv\u00e4ljadele ja kerimise stabiilsus.<\/li>\n<li>Parandatud mitte-ASCII s\u00fcmbolite tugi paroolisisestusre\u017eiimis.<\/li>\n<li>Eemaldatud kursori vilkumine App'is \u00fcmber joonistamisel.<\/li>\n<li>Sisendi t\u00f6\u00f6tlemine POSIX torude abil\n<ul>\n<li>Lubab FTXUI rakendustel lugeda andmeid stdin'ist (toru kasutamisel) ning samal ajal vastu v\u00f5tta sisendit klaviatuurilt terminalis.<\/li>\n<li>Kasutatakse vaikevalikuna.<\/li>\n<li>Seda saab v\u00e4lja l\u00fclitada, kasutades App::HandlePipedInput(false).<\/li>\n<li>Ainult Linuxis ja macOS'is saadaval.<\/li>\n<\/ul>\n<\/li>\n<li>Palju vigu on parandatud.<\/li>\n<\/ul>\n<p><strong>DOM<\/strong><\/p>\n<ul>\n<li>Toetab reavahet (n) text() ja vtext() sees.<\/li>\n<li>N\u00fc\u00fcd edastab dbox fookuse \u00fclemistelt kihtidelt alumistele, mis vastab visuaalsele kuvamisele.<\/li>\n<li>Lisatud tabeli piirdekaunistuste tugi. See v\u00f5imaldab n\u00e4iteks tabeli piiride v\u00e4rvi muutmist.<\/li>\n<li>Parandatud t\u00e4isarvude \u00fclevoolu viga ComputeShrinkHardis.<\/li>\n<li>Lisatud spetsialiseerimine vbox\/hbox\/dbox, et v\u00f5imaldada Element konteineri kasutamine sisendina.<\/li>\n<li>Gridboxis on parandatud alamelementide lisamist.<\/li>\n<li>Parandatud gauge'i kuvamine.<\/li>\n<li>Lisatud parameetriga variandid flex dekoratoreid parameetriga _factor. Need v\u00f5imaldavad m\u00e4\u00e4rata kasutaja m\u00e4\u00e4ratud pikendamise v\u00f5i kokkusurumise koefitsiendid:<br \/>\nflex_factor(grow, shrink), flex_grow_factor(grow), flex_shrink_factor(shrink), samuti variandid x ja y telgede jaoks.<\/li>\n<\/ul>\n<p><strong>Kujutise optimeerimine.<\/strong><\/p>\n<ul>\n<li>Kursori liikumise optimeerimine Screen::ResetPosition meetodis (ilma ekraani puhastamiseta) \u00fche parameetrilise CSI k\u00e4sus\u00fcsteemina, et nihutada kursori \u00fcles (x1B[&lt;n&gt;A) asemel, et saata \u00fcks x1B[1A iga rea jaoks. See v\u00e4hendas escape-m\u00e4rkide arvu kaadris \u00fcmberjoonistamise ajal (n\u00e4iteks ~197 -&gt; 6 bitti 50 reaga ekraani jaoks, ~33-kordne v\u00e4henemine).<\/li>\n<li>Optimeeritud on Screen::ToString(), Color::Print() ja string_width(), mis kiirus:\n<ul>\n<li>P\u00f5hirenderdus ~27% kiiremini.<\/li>\n<li>Teksti renderdamine ~27% kiiremini.<\/li>\n<li>Stiilide renderdamine ~38% kiiremini.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Allikas: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/development\/18319693\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>13 \u043c\u0430\u044f, \u043f\u043e\u0441\u043b\u0435 \u0431\u043e\u043b\u0435\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a 7.0.0 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 FTXUI, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u0430 C++ \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0441 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u043c\u043e\u0439 \u043f\u043e \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 MIT. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438: \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0442\u0438\u043b\u044c, \u043d\u0430\u043f\u043e\u0434\u043e\u0431\u0438\u0435 React JS; \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u044d\u043b\u0435\u0433\u0430\u043d\u0442\u043d\u044b\u0439 \u0441\u0442\u0438\u043b\u044c (\u043f\u043e \u043c\u043d\u0435\u043d\u0438\u044e \u0430\u0432\u0442\u043e\u0440\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438); \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044b \u0438 \u00ab\u043c\u044b\u0448\u0438\u00bb; \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 UTF8 \u0438 Unicode; \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 True Color; \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-182110","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Erik Peterson\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/news\/ftxui-7-0-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\udd47FTXUI 7.0.0 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/news\/ftxui-7-0-0\" \/>\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=\"2026-06-15T12:48:53+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-06-15T12:48:53+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\udd47FTXUI 7.0.0 | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/et\/blog\/news\/ftxui-7-0-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\udd47FTXUI 7.0.0 | ProHoster","og:url":"https:\/\/prohoster.info\/et\/blog\/news\/ftxui-7-0-0","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":"2026-06-15T12:48:53+00:00","article:modified_time":"2026-06-15T12:48:53+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"182110","title":null,"description":null,"keywords":null,"keyphrases":{"focus":[],"additional":[]},"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":"default","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":"2026-08-05 12:22:22","updated":"2026-08-05 12:22:22","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/182110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=182110"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/182110\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=182110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=182110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=182110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}