{"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\/sv\/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 mer \u00e4n ett \u00e5rs utveckling, sl\u00e4pptes version 7.0.0 av det plattformsoberoende biblioteket <a rel=\"nofollow\" href=\"https:\/\/github.com\/ArthurSonzogni\/FTXUI\">FTXUI<\/a>, designat f\u00f6r att skapa C++-applikationer med textgr\u00e4nssnitt och distribueras under MIT-licensen.<\/p>\n<p><\/noindex><\/p>\n<p>M\u00f6jligheter i biblioteket:<\/p>\n<ul>\n<li>funktionell stil, liknande React JS;<\/li>\n<li>enkel och elegant stil (enligt bibliotekets f\u00f6rfattare);<\/li>\n<li>hantering av tangentbords- och muskommandon;<\/li>\n<li>st\u00f6d f\u00f6r UTF8 och Unicode;<\/li>\n<li>st\u00f6d f\u00f6r True Color;<\/li>\n<li>st\u00f6d f\u00f6r att \u00e4ndra muspekarlayout;<\/li>\n<li>st\u00f6d f\u00f6r animationer;<\/li>\n<li>st\u00f6d f\u00f6r ritning;<\/li>\n<li>inga externa beroenden;<\/li>\n<li>plattformsoberoende (Linux\/MacOS, WebAssembly, Windows).<\/li>\n<\/ul>\n<h5>\u00c4ndringar<\/h5>\n<p><strong>Dokumentation<\/strong><\/p>\n<ul>\n<li>Dokumentationsgenereringen med Doxygen har \u00e5tg\u00e4rdats.<\/li>\n<li>Egen tema har lagts till f\u00f6r Doxygen.<\/li>\n<li>Dokumentationen har delats upp p\u00e5 flera sidor.<\/li>\n<\/ul>\n<p><strong>Kompilering<\/strong><\/p>\n<ul>\n<li>Ett skript, tools$ amalgamate.py, har lagts till f\u00f6r att generera det &laquo;amalgamerade&raquo; k\u00e4llkoden: ftxui.cpp (534 KB), ftxui.hpp (110 KB) och ftxui_all.hpp (643 KB).<\/li>\n<li>St\u00f6d f\u00f6r C++20-moduler har lagts till.<\/li>\n<li>St\u00f6d f\u00f6r Meson har lagts till.<\/li>\n<li>Beroendet av pthread har tagits bort.<\/li>\n<li>St\u00f6det f\u00f6r Bazel har \u00e5tg\u00e4rdats.<\/li>\n<li>Andra f\u00f6rb\u00e4ttringar.<\/li>\n<\/ul>\n<p><strong>Kompatibilitetsf\u00f6r\u00e4ndringar med tidigare versioner<\/strong><\/p>\n<ul>\n<li>Omd\u00f6pningar:\n<ul>\n<li>Pixel till `Cell<\/li>\n<li>Image till Surface<\/li>\n<li>ScreenInteractive till App<\/li>\n<li>metoden PixelAt till CellAt<br \/>\nF\u00f6r att s\u00e4kerst\u00e4lla kompatibilitet finns det alias och rubriker f\u00f6r att inte st\u00f6ra existerande kod.<\/li>\n<\/ul>\n<\/li>\n<li>Anv\u00e4ndning av std::string_view ist\u00e4llet f\u00f6r const std::string&amp; d\u00e4r det \u00e4r m\u00f6jligt. Detta ger b\u00e4ttre kompatibilitet med str\u00e4ngliteraler och undviker on\u00f6diga kopior.<\/li>\n<\/ul>\n<p><strong>Komponenter<\/strong><\/p>\n<ul>\n<li>Systemet f\u00f6r signalinf\u00e5ngning har f\u00f6rb\u00e4ttrats och moderniserats med anv\u00e4ndning av POSIX sigaction f\u00f6r p\u00e5litlig maskering av signaler. Skydd mot dubbelt \u00e5terst\u00e4llande av terminalen vid programavslut har s\u00e4kerst\u00e4llts genom atom\u00e4r sp\u00e5rning av det ursprungliga tillst\u00e5ndet. St\u00f6d f\u00f6r ytterligare POSIX-signaler har lagts till (SIGBUS, SIGSYS som fel signa och SIGQUIT, SIGHUP som signaler f\u00f6r f\u00f6rdr\u00f6jd avslutning) och s\u00e4kerhetsproblem med asynkrona signaler har \u00e5tg\u00e4rdats.<\/li>\n<li>Problemet med muspekarsynlighet vid anv\u00e4ndning av anpassad Renderer i inb\u00e4ddade containrar har \u00e5tg\u00e4rdats.<\/li>\n<li>Muspekarpositioneringen i inmatningsf\u00e4lt och stabiliteten vid rullning har \u00e5tg\u00e4rdats.<\/li>\n<li>St\u00f6det f\u00f6r icke-ASCII-tecken i l\u00f6senordsl\u00e4get har \u00e5tg\u00e4rdats.<\/li>\n<li>Flimret av muspekaren vid omritning i App har \u00e5tg\u00e4rdats.<\/li>\n<li>Inmatningshantering med POSIX pipes\n<ul>\n<li>M\u00f6jligg\u00f6r f\u00f6r FTXUI-appar att l\u00e4sa data fr\u00e5n stdin (vid anv\u00e4ndning av pipe) och samtidigt ta emot inmatning fr\u00e5n tangentbordet i terminalen.<\/li>\n<li>Anv\u00e4nds som standard.<\/li>\n<li>Kan st\u00e4ngas av med App::HandlePipedInput(false).<\/li>\n<li>Finns endast p\u00e5 Linux och macOS.<\/li>\n<\/ul>\n<\/li>\n<li>M\u00e5nga fel har r\u00e4ttats.<\/li>\n<\/ul>\n<p><strong>DOM<\/strong><\/p>\n<ul>\n<li>St\u00f6d f\u00f6r radbrytning (n) inom text() och vtext().<\/li>\n<li>Nu \u00f6verf\u00f6r dbox fokus fr\u00e5n \u00f6vre skikt till nedre, vilket motsvarar den visuella presentationen.<\/li>\n<li>St\u00f6d f\u00f6r dekorerande gr\u00e4nser av tabeller har lagts till. Detta g\u00f6r att man till exempel kan \u00e4ndra f\u00e4rgen p\u00e5 tabellens gr\u00e4nser.<\/li>\n<li>Fel p\u00e5 heltals\u00f6verfl\u00f6d i ComputeShrinkHard har \u00e5tg\u00e4rdats.<\/li>\n<li>Specialisering har lagts till i vbox\/hbox\/dbox f\u00f6r att m\u00f6jligg\u00f6ra anv\u00e4ndning av Element-container som indata.<\/li>\n<li>Fel vid till\u00e4gg av barn i gridbox har \u00e5tg\u00e4rdats.<\/li>\n<li>Visningen av gauge har \u00e5tg\u00e4rdats.<\/li>\n<li>Parametriserade varianter av flex-dekorerare med parametern _factor har lagts till. De g\u00f6r att man kan ange anpassade tillv\u00e4xt- eller krympningsfaktorer:<br \/>\nflex_factor(grow, shrink), flex_grow_factor(grow), flex_shrink_factor(shrink), samt varianter f\u00f6r x- och y-axlar.<\/li>\n<\/ul>\n<p><strong>Renderingoptimeringar.<\/strong><\/p>\n<ul>\n<li>Optimering av mark\u00f6rens r\u00f6relse \u00f6ver rader i Screen::ResetPosition-metoden (utan att rensa sk\u00e4rmen) till ett parametriserat kommando CSI f\u00f6r att flytta mark\u00f6ren upp\u00e5t (x1B[&lt;n&gt;A) ist\u00e4llet f\u00f6r att skriva ut ett x1B[1A f\u00f6r varje rad. Detta minskade antalet escape-tecken per bild under omritning (t.ex. ~197 -&gt; 6 byte f\u00f6r en sk\u00e4rm med 50 rader, ~33-faldig minskning).<\/li>\n<li>Screen::ToString(), Color::Print() och string_width() har optimerats, vilket snabbar upp:\n<ul>\n<li>Grundl\u00e4ggande rendering med ~27%.<\/li>\n<li>Text-rendering med ~27%.<\/li>\n<li>Stil-rendering med ~38%.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>K\u00e4lla: <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.4 - 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\/sv\/blog\/news\/ftxui-7-0-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\/sv\/blog\/news\/ftxui-7-0-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/182110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=182110"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/182110\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=182110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=182110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=182110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}