{"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\/no\/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, etter mer enn ett \u00e5rs utvikling, ble den tverrplattformbibliotekversjonen 7.0.0 lansert. <a rel=\"nofollow\" href=\"https:\/\/github.com\/ArthurSonzogni\/FTXUI\">FTXUI<\/a>, designet for \u00e5 lage C++-applikasjoner med tekstgrensesnitt og distribuert under MIT-lisensen.<\/p>\n<p><\/noindex><\/p>\n<p>Bibliotekets funksjoner:<\/p>\n<ul>\n<li>funksjonell stil, lignende React JS;<\/li>\n<li>en enkel og elegant stil (if\u00f8lge bibliotekets forfatter);<\/li>\n<li>behandling av tastatur- og \u00abmus\u00bb-hendelser;<\/li>\n<li>st\u00f8tte for UTF8 og Unicode;<\/li>\n<li>st\u00f8tte for True Color;<\/li>\n<li>st\u00f8tte for endring av musepekerstil;<\/li>\n<li>st\u00f8tte for animasjoner;<\/li>\n<li>st\u00f8tte for tegning;<\/li>\n<li>ingen avhengigheter fra tredjepart;<\/li>\n<li>tverrplattform (Linux\/MacOS, WebAssembly, Windows).<\/li>\n<\/ul>\n<h5>Endringer<\/h5>\n<p><strong>Dokumentasjon<\/strong><\/p>\n<ul>\n<li>Dokumentasjonsgenerering med Doxygen er fikset.<\/li>\n<li>Egen Doxygen-tema er lagt til.<\/li>\n<li>Dokumentasjonen er delt opp i flere sider.<\/li>\n<\/ul>\n<p><strong>Kompilering<\/strong><\/p>\n<ul>\n<li>Scriptet tools$ amalgamate.py er lagt til for \u00e5 generere \u00abamalgamert\u00bb kildekode: ftxui.cpp (534 KB), ftxui.hpp (110 KB) og ftxui_all.hpp (643 KB).<\/li>\n<li>St\u00f8tte for C++20-moduler er lagt til.<\/li>\n<li>St\u00f8tte for Meson er lagt til.<\/li>\n<li>Avhengigheten til pthread er fjernet.<\/li>\n<li>St\u00f8tte for Bazel er fikset.<\/li>\n<li>Andre forbedringer.<\/li>\n<\/ul>\n<p><strong>Endringer for kompatibilitet med tidligere versjoner<\/strong><\/p>\n<ul>\n<li>Omd\u00f8pninger:\n<ul>\n<li>Pixel til `Cell<\/li>\n<li>Image til Surface<\/li>\n<li>ScreenInteractive til App<\/li>\n<li>metoden PixelAt til CellAt<br \/>\nFor \u00e5 sikre kompatibilitet er det laget aliaser og overskrifter, slik at eksisterende kode ikke brytes.<\/li>\n<\/ul>\n<\/li>\n<li>Bruk av std::string_view i stedet for const std::string&amp; der det er mulig. Dette gir bedre kompatibilitet med strenglitteraler og unng\u00e5r un\u00f8dvendige kopier.<\/li>\n<\/ul>\n<p><strong>Komponenter<\/strong><\/p>\n<ul>\n<li>Systemet for signaloppsnaping er forbedret og modernisert ved bruk av POSIX sigaction for p\u00e5litelig signalmaskering. Beskyttelse mot dobbel terminalgjenoppretting ved programutgang er sikret gjennom atomisk sporing av den opprinnelige tilstanden. St\u00f8tte for flere POSIX-signaler (SIGBUS, SIGSYS som feilsignaler, og SIGQUIT, SIGHUP som signaler for utsatt avslutning) er lagt til, og sikkerhetsproblemer med asynkrone signaler er fikset.<\/li>\n<li>Problemet med musepekervisning ved bruk av tilpasset Renderer i nestede containere er fikset.<\/li>\n<li>Plasseringen av musepekeren i inputfelt og stabiliteten til rulling er fikset.<\/li>\n<li>St\u00f8tte for ikke-ASCII-tegn i passordinputmodus er fikset.<\/li>\n<li>Blinkingen av musepekeren ved omtegning i App er eliminert.<\/li>\n<li>H\u00e5ndtering av input ved bruk av POSIX pipes\n<ul>\n<li>Lar dei FTXUI-program vara di data fr\u00e5 stdin (n\u00e5r ein bruker pipe) og samtidig ta inn tastaturinput i terminalen.<\/li>\n<li>Brukes som standard.<\/li>\n<li>Kan deaktiverast ved \u00e5 bruke App::HandlePipedInput(false).<\/li>\n<li>Tilgjengelig kun i Linux og macOS.<\/li>\n<\/ul>\n<\/li>\n<li>Mange feil er fiksa.<\/li>\n<\/ul>\n<p><strong>DOM<\/strong><\/p>\n<ul>\n<li>St\u00f8tte for linjeskift (n) innom text() og vtext().<\/li>\n<li>N\u00e5 overf\u00f8rer dbox fokus fra \u00f8verste lag til nederste lag, som samsvarer med den visuelle presentasjonen.<\/li>\n<li>St\u00f8tte for kantdekorat\u00f8rar i tabeller er lagt til. Dette gjer det mogleg \u00e5 endre fargen p\u00e5 tabellkantane.<\/li>\n<li>Fikset feil med heile tal som overg\u00e5r i ComputeShrinkHard.<\/li>\n<li>Spesialisering lagt til i vbox\/hbox\/dbox for \u00e5 kunne bruke Element-containeren som input.<\/li>\n<li>Fikset problemet med \u00e5 legge til barneelement i gridbox.<\/li>\n<li>Fikset visning av gauge.<\/li>\n<li>Parameteriserte variantar av flex-dekorat\u00f8rar med parameteret _factor er lagt til. Dei gjer det mogleg \u00e5 spesifisere brukardefinerte vekst- eller sammentrekningsfaktorar:<br \/>\nflex_factor(grow, shrink), flex_grow_factor(grow), flex_shrink_factor(shrink), samt variantar for akser x og y.<\/li>\n<\/ul>\n<p><strong>Optimaliseringar av rendering.<\/strong><\/p>\n<ul>\n<li>Optimalisering av flytting av mark\u00f8ren gjennom linjene i metoden Screen::ResetPosition (uten \u00e5 rydde skjermen) til eit parameterisert sett med CSI-kommandoar for \u00e5 flytte mark\u00f8ren opp (x1B[A) i staden for \u00e5 skrive ut eitt x1B[1A for kvar linje. Dette reduserte antallet escape-teikn per ramme under omrendering (for eksempel, ~197 -&gt; 6 byte for ein skjerm med 50 linjer, ~33-gongs reduksjon).<\/li>\n<li>Screen::ToString(), Color::Print() og string_width() er optimaliserte, noko som akselererte:\n<ul>\n<li>Grunnleggjande rendering med ~27%.<\/li>\n<li>Rendering av tekst med ~27%.<\/li>\n<li>Rendering av stilar 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.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\/no\/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=\"nn_NO\" \/>\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\/no\/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\/no\/blog\/news\/ftxui-7-0-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nn_NO","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\/no\/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\/no\/wp-json\/wp\/v2\/posts\/182110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/comments?post=182110"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/182110\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/media?parent=182110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/categories?post=182110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/tags?post=182110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}