{"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\/da\/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. maj, efter mere end et \u00e5r med udvikling, blev 7.0.0 versionen af den tv\u00e6rg\u00e5ende biblioteksudgivelse lanceret. <a rel=\"nofollow\" href=\"https:\/\/github.com\/ArthurSonzogni\/FTXUI\">FTXUI<\/a>, der er designet til at oprette C++ applikationer med tekstbaseret interface og distribueres under MIT-licensen.<\/p>\n<p><\/noindex><\/p>\n<p>Bibliotekets funktioner:<\/p>\n<ul>\n<li>funktionel stil, ligesom React JS;<\/li>\n<li>en simpel og elegant stil (efter forfatterens mening);<\/li>\n<li>h\u00e5ndtering af tastatur- og musbegivenheder;<\/li>\n<li>st\u00f8tte for UTF8 og Unicode;<\/li>\n<li>st\u00f8tte for True Color;<\/li>\n<li>st\u00f8tte for at \u00e6ndre cursorens stil;<\/li>\n<li>st\u00f8tte for animationer;<\/li>\n<li>st\u00f8tte for tegning;<\/li>\n<li>ingen tredjeparts afh\u00e6ngigheder;<\/li>\n<li>tv\u00e6rplatform (Linux\/MacOS, WebAssembly, Windows).<\/li>\n<\/ul>\n<h5>\u00c6ndringer<\/h5>\n<p><strong>Dokumentation<\/strong><\/p>\n<ul>\n<li>Dokumentationsgenereringen med Doxygen er blevet rettet.<\/li>\n<li>En tilpasset tema til Doxygen er blevet tilf\u00f8jet.<\/li>\n<li>Dokumentationen er blevet opdelt i flere sider.<\/li>\n<\/ul>\n<p><strong>Kompilering<\/strong><\/p>\n<ul>\n<li>Scripts tools$ amalgamate.py tilf\u00f8jet til generering af \u00abamalgameret\u00bb kildekode: ftxui.cpp (534 KB), ftxui.hpp (110 KB) og ftxui_all.hpp (643 KB).<\/li>\n<li>Der er tilf\u00f8jet st\u00f8tte til C++20-moduler.<\/li>\n<li>St\u00f8tte til Meson er blevet tilf\u00f8jet.<\/li>\n<li>Afh\u00e6ngigheden af pthread er fjernet.<\/li>\n<li>St\u00f8tten til Bazel er blevet rettet.<\/li>\n<li>Andre forbedringer.<\/li>\n<\/ul>\n<p><strong>\u00c6ndringer i kompatibilitet med tidligere versioner<\/strong><\/p>\n<ul>\n<li>Omd\u00f8bninger:\n<ul>\n<li>Pixel til `Cell<\/li>\n<li>Image til Surface<\/li>\n<li>ScreenInteractive til App<\/li>\n<li>metode PixelAt til CellAt<br \/>\nFor at sikre kompatibilitet er der indf\u00f8rt aliaser og headers for ikke at bryde eksisterende kode.<\/li>\n<\/ul>\n<\/li>\n<li>Brug af std::string_view i stedet for const std::string&amp; hvor det er muligt. Dette sikrer bedre kompatibilitet med strenglitteraler og undg\u00e5r un\u00f8dvendige kopier.<\/li>\n<\/ul>\n<p><strong>Komponenter<\/strong><\/p>\n<ul>\n<li>Systemet til signalinterception er blevet forbedret og moderniseret med POSIX sigaction for p\u00e5lidelig signalmaskering. Der er sikret beskyttelse mod dobbelt terminalgendannelse ved programafslutning ved hj\u00e6lp af atomisk sporing af den oprindelige tilstand. Der er tilf\u00f8jet support til flere POSIX-signaler (SIGBUS, SIGSYS som crash-signaler, og SIGQUIT, SIGHUP som signalsignal for udskudt afslutning) og sikkerhedsproblemer ved asynkrone signaler er blevet rettet.<\/li>\n<li>Problemet med cursorvisning ved brug af tilpasset Renderer i indlejrede containere er blevet rettet.<\/li>\n<li>Retningen af cursoren i inputfelter og stabiliteten i scrolling er blevet rettet.<\/li>\n<li>St\u00f8tten til ikke-ASCII-tegn i inputtilstand til password er blevet rettet.<\/li>\n<li>Blinket cursor ved gentegning i App er blevet fjernet.<\/li>\n<li>H\u00e5ndtering af input ved hj\u00e6lp af POSIX pipes\n<ul>\n<li>Giver FTXUI-applikationer mulighed for at l\u00e6se data fra stdin (ved brug af pipe) og samtidig modtage input fra tastaturet i terminalen.<\/li>\n<li>Bruges som standard.<\/li>\n<li>Kan deaktiveres ved at bruge App::HandlePipedInput(false).<\/li>\n<li>Kun tilg\u00e6ngeligt i Linux og macOS.<\/li>\n<\/ul>\n<\/li>\n<li>Mange fejl er blevet rettet.<\/li>\n<\/ul>\n<p><strong>DOM<\/strong><\/p>\n<ul>\n<li>St\u00f8tte til linjeskift (n) inden for text() og vtext().<\/li>\n<li>Nu overf\u00f8rer dbox fokus fra de \u00f8verste lag til de nederste, hvilket svarer til den visuelle repr\u00e6sentation.<\/li>\n<li>Der er tilf\u00f8jet st\u00f8tte til kantdekorat\u00f8rer til tabeller. Dette g\u00f8r det muligt for eksempel at \u00e6ndre farven p\u00e5 tabelens gr\u00e6nser.<\/li>\n<li>Fejlrettelse af heltals-overl\u00f8b i ComputeShrinkHard.<\/li>\n<li>Specialisering tilf\u00f8jet i vbox\/hbox\/dbox for at muligg\u00f8re brugen af Element-containeren som input.<\/li>\n<li>Gridbox har f\u00e5et rettet tilf\u00f8jelsen af underliggende elementer.<\/li>\n<li>Fejlrettelse af gauge-visningen.<\/li>\n<li>Parametriserede varianter af flex-dekoratorer med parameteren _factor er blevet tilf\u00f8jet. De muligg\u00f8r angivelse af brugerdefinerede voks- og skrumpningsfaktorer:<br \/>\nflex_factor(grow, shrink), flex_grow_factor(grow), flex_shrink_factor(shrink), samt varianter for x- og y-akser.<\/li>\n<\/ul>\n<p><strong>Optimeringer af rendering<\/strong><\/p>\n<ul>\n<li>Optimering af cursorbev\u00e6gelser i Screen::ResetPosition-metoden (uden at rydde sk\u00e6rmen) til et parameteriseret s\u00e6t af CSI-kommandoer til at flytte cursoren op (x1B[A) i stedet for at udskrive \u00e9t x1B[1A for hver linje. Dette reducerede antallet af escape-tegn pr. frame under genrendering (f.eks. ~197 -&gt; 6 bytes for en sk\u00e6rm med 50 linjer, ~33-foldig reduktion).<\/li>\n<li>Optimeret Screen::ToString(), Color::Print() og string_width(), hvilket har \u00f8get hastigheden for:\n<ul>\n<li>Basisrendering med ~27%.<\/li>\n<li>Tekstrendering med ~27%.<\/li>\n<li>Stilrendering med ~38%.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Kilde: <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\/da\/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=\"da_DK\" \/>\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\/da\/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\/da\/blog\/news\/ftxui-7-0-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/182110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=182110"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/182110\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=182110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=182110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=182110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}