{"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\/lv\/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. maij\u0101, p\u0113c vair\u0101k nek\u0101 gada izstr\u0101des, tika izlaista 7.0.0 multiplatformu bibliot\u0113ka <a rel=\"nofollow\" href=\"https:\/\/github.com\/ArthurSonzogni\/FTXUI\">FTXUI<\/a>, kas paredz\u0113ta C++ lietojumprogrammu ar tekstu\u0101ro saskarni izveido\u0161anai un tiek izplat\u012bta saska\u0146\u0101 ar MIT licenci.<\/p>\n<p><\/noindex><\/p>\n<p>Bibliot\u0113kas iesp\u0113jas:<\/p>\n<ul>\n<li>funkcion\u0101lais stils, l\u012bdz\u012bgs React JS;<\/li>\n<li>vienk\u0101r\u0161s un elegants stils (p\u0113c bibliot\u0113kas autores dom\u0101m);<\/li>\n<li>notikumu apstr\u0101de no tastat\u016bras un \u201epeles\u201d;<\/li>\n<li>atbalsts UTF8 un Unicode;<\/li>\n<li>atbalsts True Color;<\/li>\n<li>atbalsts kursoru stila mai\u0146ai;<\/li>\n<li>atbalsts anim\u0101cij\u0101m;<\/li>\n<li>atbalsts z\u012bm\u0113\u0161anai;<\/li>\n<li>tre\u0161o personu atkar\u012bbu tr\u016bkums;<\/li>\n<li>multiplatform\u012bba (Linux\/MacOS, WebAssembly, Windows).<\/li>\n<\/ul>\n<h5>Izmai\u0146as<\/h5>\n<p><strong>Dokument\u0101cija<\/strong><\/p>\n<ul>\n<li>Tika labota dokument\u0101cijas \u0123ener\u0113\u0161ana ar Doxygen.<\/li>\n<li>Pievienota sava t\u0113ma Doxygen.<\/li>\n<li>Dokument\u0101cija sadal\u012bta vair\u0101k\u0101s lap\u0101s.<\/li>\n<\/ul>\n<p><strong>Kompil\u0101cija<\/strong><\/p>\n<ul>\n<li>Pievienots r\u012bks tools$ amalgamate.py, lai \u0123ener\u0113tu \u00abamalgam\u0113tu\u00bb s\u0101kotn\u0113jo kodu: ftxui.cpp (534 Kb), ftxui.hpp (110 Kb) un ftxui_all.hpp (643 Kb).<\/li>\n<li>Pievienots atbalsts C++20 modu\u013ciem.<\/li>\n<li>Pievienots atbalsts Meson.<\/li>\n<li>No\u0146emta atkar\u012bba no pthread.<\/li>\n<li>Labota Bazel atbalsta probl\u0113ma.<\/li>\n<li>Citas uzlabo\u0161anas.<\/li>\n<\/ul>\n<p><strong>Atpaka\u013csader\u012bbas izmai\u0146as<\/strong><\/p>\n<ul>\n<li>P\u0101rsauk\u0161anas:\n<ul>\n<li>Pixel uz `Cell<\/li>\n<li>Image uz Surface<\/li>\n<li>ScreenInteractive uz App<\/li>\n<li>metode PixelAt uz CellAt<br \/>\nLai nodro\u0161in\u0101tu sader\u012bbu, ir nodro\u0161in\u0101ti aliasi un virsraksti, lai netiktu trauc\u0113ta eso\u0161\u0101 koda darb\u012bba.<\/li>\n<\/ul>\n<\/li>\n<li>Tiek izmantots std::string_view viet\u0101 const std::string&amp; tur, kur tas ir iesp\u0113jams. Tas nodro\u0161ina lab\u0101ku sader\u012bbu ar string liter\u0101\u013ciem un nov\u0113r\u0161 nevajadz\u012bgas kop\u0113\u0161anas.<\/li>\n<\/ul>\n<p><strong>Komponenti<\/strong><\/p>\n<ul>\n<li>Uzlabota un moderniz\u0113ta sign\u0101lu uztver\u0161anas sist\u0113ma, izmantojot POSIX sigaction, lai nodro\u0161in\u0101tu sign\u0101lu dro\u0161u mask\u0113\u0161anu. Nodro\u0161in\u0101ta aizsardz\u012bba pret dubulto termin\u0101la atjauno\u0161anu, izejot no programmas, izmantojot atom\u0101ro s\u0101kotn\u0113j\u0101 st\u0101vok\u013ca izseko\u0161anu. Pievienots atbalsts papildu POSIX sign\u0101liem (SIGBUS, SIGSYS k\u0101 av\u0101rijas sign\u0101liem, un SIGQUIT, SIGHUP k\u0101 atlikta izbeig\u0161anas sign\u0101liem), k\u0101 ar\u012b labotas asinhrono sign\u0101lu dro\u0161\u012bbas probl\u0113mas.<\/li>\n<li>Labota kursora att\u0113lo\u0161anas probl\u0113ma, izmantojot piel\u0101gotu Renderer iek\u0161\u0113jos konteineros.<\/li>\n<li>Labota kursora pozicion\u0113\u0161anas probl\u0113ma ievades laukos un stabilit\u0101te ritin\u0101\u0161an\u0101.<\/li>\n<li>Labots atbalsts ne-ASCII simboliem paroli ievades re\u017e\u012bm\u0101.<\/li>\n<li>Nov\u0113rsta kursora mirgo\u0161ana, p\u0101rz\u012bm\u0113jot App.<\/li>\n<li>Ievades apstr\u0101de, izmantojot POSIX caurules.\n<ul>\n<li>\u013bauj FTXUI lietotn\u0113m las\u012bt datus no stdin (izmantojot pipe) un vienlaikus pie\u0146emt ievadi no klaviat\u016bras termin\u0101l\u012b.<\/li>\n<li>Tiek izmantots p\u0113c noklus\u0113juma.<\/li>\n<li>Var tikt atsp\u0113jots ar App::HandlePipedInput(false).<\/li>\n<li>Pieejams tikai Linux un macOS.<\/li>\n<\/ul>\n<\/li>\n<li>Izlabotas daudzas k\u013c\u016bdas.<\/li>\n<\/ul>\n<p><strong>DOM<\/strong><\/p>\n<ul>\n<li>Atbalsts p\u0101rejas rindi\u0146ai (n) text() un vtext() iek\u0161ien\u0113.<\/li>\n<li>Tagad dbox p\u0101rs\u016bt\u012bs fokusu no aug\u0161\u0113jiem sl\u0101\u0146iem uz apak\u0161\u0113jiem, kas atbilst vizu\u0101lajam att\u0113lojumam.<\/li>\n<li>Pievienots atbalsts tabulu apmal\u0113m. Tas \u013cauj, piem\u0113ram, main\u012bt tabulas apmal\u012b\u0161u kr\u0101su.<\/li>\n<li>Izlabota vesela skait\u013ca p\u0101rpla\u0161in\u0101\u0161anas k\u013c\u016bda ComputeShrinkHard.<\/li>\n<li>Pievienota specializ\u0101cija vbox\/hbox\/dbox, kas \u013cauj izmantot Element konteineru k\u0101 ievadi.<\/li>\n<li>gridbox iek\u0161ien\u0113 izlabota b\u0113rnu elementu pievieno\u0161ana.<\/li>\n<li>Izlabots gauge att\u0113lojums.<\/li>\n<li>Pievienoti parametriz\u0113ti flex dekoratoru varianti ar parametru _factor. Tie \u013cauj noteikt lietot\u0101ja elast\u012bbas vai sasprindzin\u0101juma koeficientus:<br \/>\nflex_factor(grow, shrink), flex_grow_factor(grow), flex_shrink_factor(shrink), k\u0101 ar\u012b varianti x un y as\u012bm.<\/li>\n<\/ul>\n<p><strong>Rend\u0113\u0161anas optimiz\u0101cijas.<\/strong><\/p>\n<ul>\n<li>Kursora p\u0101rvieto\u0161anas optimiz\u0101cija pa rind\u0101m Screen::ResetPosition metod\u0113 (bez ekr\u0101na not\u012br\u012b\u0161anas) uz vienu parametriz\u0113tu CSI komandu kopu, lai p\u0101rvietotu kursora aug\u0161up (x1B[A), nevis izvad\u012btu x1B[1A katrai rindi\u0146ai. Tas samazin\u0101ja escape simbolu skaitu kadr\u0101 laik\u0101 (piem\u0113ram, ~197 -&gt; 6 bajti ekr\u0101nam ar 50 rind\u0101m, ~33 reizes samazin\u0101jums).<\/li>\n<li>Optimiz\u0113ti Screen::ToString(), Color::Print() un string_width(), kas pa\u0101trin\u0101ja:\n<ul>\n<li>B\u0101zes render\u0113\u0161ana par ~27%.<\/li>\n<li>Teksta render\u0113\u0161ana par ~27%.<\/li>\n<li>Stilu render\u0113\u0161ana par ~38%.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Avots: <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.5 - 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\/lv\/blog\/news\/ftxui-7-0-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"lv_LV\" \/>\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\/lv\/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\/lv\/blog\/news\/ftxui-7-0-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"lv_LV","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\/lv\/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\/lv\/wp-json\/wp\/v2\/posts\/182110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/comments?post=182110"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/182110\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media?parent=182110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/categories?post=182110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/tags?post=182110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}