{"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\/cs\/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. kv\u011btna, po v\u00edce ne\u017e roce v\u00fdvoje, byl vyd\u00e1n 7.0.0 multiplatformn\u00ed knihovna <a rel=\"nofollow\" href=\"https:\/\/github.com\/ArthurSonzogni\/FTXUI\">FTXUI<\/a>, ur\u010den\u00e9 k vytv\u00e1\u0159en\u00ed aplikac\u00ed s textov\u00fdm u\u017eivatelsk\u00fdm rozhran\u00edm v C++ a distribuovan\u00e9 pod licenc\u00ed MIT.<\/p>\n<p><\/noindex><\/p>\n<p>Funkce knihovny:<\/p>\n<ul>\n<li>funkcion\u00e1ln\u00ed styl, podobn\u011b jako React JS;<\/li>\n<li>jednoduch\u00fd a elegantn\u00ed styl (podle autora knihovny);<\/li>\n<li>zpracov\u00e1n\u00ed ud\u00e1lost\u00ed kl\u00e1vesnice a my\u0161i;<\/li>\n<li>podpora UTF8 a Unicode;<\/li>\n<li>podpora True Color;<\/li>\n<li>podpora zm\u011bny stylu kurzoru;<\/li>\n<li>podpora animac\u00ed;<\/li>\n<li>podpora kreslen\u00ed;<\/li>\n<li>absence t\u0159et\u00edch z\u00e1vislost\u00ed;<\/li>\n<li>multiplatformnost (Linux\/MacOS, WebAssembly, Windows).<\/li>\n<\/ul>\n<h5>Zm\u011bny<\/h5>\n<p><strong>Dokumentace<\/strong><\/p>\n<ul>\n<li>Opraveno generov\u00e1n\u00ed dokumentace pomoc\u00ed Doxygen.<\/li>\n<li>P\u0159id\u00e1na vlastn\u00ed t\u00e9ma pro Doxygen.<\/li>\n<li>Rozd\u011blen\u00ed dokumentace na n\u011bkolik str\u00e1nek.<\/li>\n<\/ul>\n<p><strong>Kompilace<\/strong><\/p>\n<ul>\n<li>Byl p\u0159id\u00e1n skript tools$ amalgamate.py pro generov\u00e1n\u00ed \u201eamalgamovan\u00e9ho\u201c zdrojov\u00e9ho k\u00f3du: ftxui.cpp (534 kB), ftxui.hpp (110 kB) a ftxui_all.hpp (643 kB).<\/li>\n<li>P\u0159id\u00e1na podpora pro moduly C++20.<\/li>\n<li>P\u0159id\u00e1na podpora Meson.<\/li>\n<li>Odstran\u011bna z\u00e1vislost na pthread.<\/li>\n<li>Opraven\u00e1 podpora Bazel.<\/li>\n<li>Dal\u0161\u00ed vylep\u0161en\u00ed.<\/li>\n<\/ul>\n<p><strong>Zm\u011bny kompatibility s p\u0159edchoz\u00edmi verzemi<\/strong><\/p>\n<ul>\n<li>P\u0159ejmenov\u00e1n\u00ed:\n<ul>\n<li>Pixel na Cell<\/li>\n<li>Image na Surface<\/li>\n<li>ScreenInteractive na App<\/li>\n<li>metoda PixelAt na CellAt<br \/>\nPro zaji\u0161t\u011bn\u00ed kompatibility jsou k dispozici aliasy a z\u00e1hlav\u00ed, aby se nezm\u011bnila funk\u010dnost st\u00e1vaj\u00edc\u00edho k\u00f3du.<\/li>\n<\/ul>\n<\/li>\n<li>Pou\u017eit\u00ed std::string_view m\u00edsto const std::string&amp; tam, kde je to mo\u017en\u00e9. To zaji\u0161\u0165uje lep\u0161\u00ed kompatibilitu s liter\u00e1ly \u0159et\u011bzc\u016f a zabra\u0148uje zbyte\u010dn\u00fdm kopi\u00edm.<\/li>\n<\/ul>\n<p><strong>Komponenty<\/strong><\/p>\n<ul>\n<li>Vylep\u0161en a modernizov\u00e1n syst\u00e9m zachyt\u00e1v\u00e1n\u00ed sign\u00e1l\u016f pomoc\u00ed POSIX sigaction pro spolehlivou masku sign\u00e1l\u016f. Zaji\u0161t\u011bna ochrana proti dvakr\u00e1t obnoven\u00e9mu termin\u00e1lu p\u0159i ukon\u010den\u00ed programu pomoc\u00ed atomick\u00e9ho sledov\u00e1n\u00ed p\u016fvodn\u00edho stavu. P\u0159id\u00e1na podpora dal\u0161\u00edch sign\u00e1l\u016f POSIX (SIGBUS, SIGSYS jako sign\u00e1ly selh\u00e1n\u00ed a SIGQUIT, SIGHUP jako sign\u00e1ly odd\u00e1len\u00e9ho ukon\u010den\u00ed) a opraveny probl\u00e9my se zabezpe\u010den\u00edm asynchronn\u00edch sign\u00e1l\u016f.<\/li>\n<li>Opraven probl\u00e9m s vykreslov\u00e1n\u00edm kurzoru p\u0159i pou\u017eit\u00ed p\u0159izp\u016fsoben\u00e9ho Renderer ve vno\u0159en\u00fdch kontejnerech.<\/li>\n<li>Opraveno um\u00edst\u011bn\u00ed kurzoru v textov\u00fdch pol\u00edch a stabilita rolov\u00e1n\u00ed.<\/li>\n<li>Opraven\u00e1 podpora pro ne-ASCII znaky v re\u017eimu zad\u00e1v\u00e1n\u00ed hesla.<\/li>\n<li>Odstran\u011bno blik\u00e1n\u00ed kurzoru b\u011bhem p\u0159ekreslov\u00e1n\u00ed v App.<\/li>\n<li>Zpracov\u00e1n\u00ed vstupu pomoc\u00ed POSIX pipes\n<ul>\n<li>Umo\u017e\u0148uje aplikac\u00edm FTXUI \u010d\u00edst data ze stdin (p\u0159i pou\u017eit\u00ed pipe) a z\u00e1rove\u0148 p\u0159ij\u00edmat vstup z kl\u00e1vesnice v termin\u00e1lu.<\/li>\n<li>Pou\u017e\u00edv\u00e1 se jako v\u00fdchoz\u00ed.<\/li>\n<li>M\u016f\u017ee b\u00fdt zak\u00e1z\u00e1no pomoc\u00ed App::HandlePipedInput(false).<\/li>\n<li>Dostupn\u00e9 pouze v Linuxu a macOS.<\/li>\n<\/ul>\n<\/li>\n<li>Opraveno mnoho chyb.<\/li>\n<\/ul>\n<p><strong>DOM<\/strong><\/p>\n<ul>\n<li>Podpora pro nov\u00fd \u0159\u00e1dek (n) uvnit\u0159 text() a vtext().<\/li>\n<li>Nyn\u00ed dbox p\u0159ed\u00e1v\u00e1 fokus z horn\u00edch vrstev na doln\u00ed, co\u017e odpov\u00edd\u00e1 vizu\u00e1ln\u00edmu zobrazen\u00ed.<\/li>\n<li>P\u0159id\u00e1na podpora dekor\u00e1tor\u016f hranic tabulek. To umo\u017e\u0148uje nap\u0159\u00edklad m\u011bnit barvu hranic tabulky.<\/li>\n<li>Opraveno p\u0159ete\u010den\u00ed cel\u00e9ho \u010d\u00edsla v ComputeShrinkHard.<\/li>\n<li>P\u0159id\u00e1na specializace pro vbox\/hbox\/dbox k mo\u017enosti pou\u017eit\u00ed kontejneru Element jako vstupu.<\/li>\n<li>V gridbox bylo opraveno p\u0159id\u00e1v\u00e1n\u00ed pod\u0159\u00edzen\u00fdch prvk\u016f.<\/li>\n<li>Opraveno zobrazen\u00ed gauge.<\/li>\n<li>P\u0159id\u00e1ny parametrizovan\u00e9 varianty dekor\u00e1tor\u016f flex s parametrem _factor. Ty umo\u017e\u0148uj\u00ed uv\u00e1d\u011bt u\u017eivatelsk\u00e9 koeficienty pro rozta\u017een\u00ed nebo zhu\u0161t\u011bn\u00ed:<br \/>\nflex_factor(grow, shrink), flex_grow_factor(grow), flex_shrink_factor(shrink), stejn\u011b jako varianty pro osy x a y.<\/li>\n<\/ul>\n<p><strong>Optimalizace vykreslov\u00e1n\u00ed<\/strong><\/p>\n<ul>\n<li>Optimalizov\u00e1no p\u0159esunut\u00ed kurzoru po \u0159\u00e1dc\u00edch v metod\u011b Screen::ResetPosition (bez vymaz\u00e1n\u00ed obrazovky) do jednoho parametrizovan\u00e9ho souboru p\u0159\u00edkaz\u016f CSI pro p\u0159esun kurzoru nahoru (x1B[&lt;n&gt;A) m\u00edsto v\u00fdstupu jednoho x1B[1A na ka\u017ed\u00fd \u0159\u00e1dek. To sn\u00ed\u017eilo po\u010det \u00fanikov\u00fdch znak\u016f na sn\u00edmek b\u011bhem p\u0159ekreslov\u00e1n\u00ed (nap\u0159. ~197 -&gt; 6 bajt\u016f pro obrazovku se 50 \u0159\u00e1dky, ~33n\u00e1sobn\u00e9 sn\u00ed\u017een\u00ed).<\/li>\n<li>Optimalizov\u00e1ny Screen::ToString(), Color::Print() a string_width(), co\u017e zrychlilo:\n<ul>\n<li>Z\u00e1kladn\u00ed vykreslov\u00e1n\u00ed o ~27%.<\/li>\n<li>Vykreslov\u00e1n\u00ed textu o ~27%.<\/li>\n<li>Vykreslov\u00e1n\u00ed styl\u016f o ~38%.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Zdroj: <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.3 - 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\/cs\/blog\/news\/ftxui-7-0-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\/cs\/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\/cs\/blog\/news\/ftxui-7-0-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","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\/cs\/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\/cs\/wp-json\/wp\/v2\/posts\/182110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=182110"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/182110\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=182110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=182110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=182110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}