{"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\/de\/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>Am 13. Mai, nach mehr als einem Jahr Entwicklung, wurde die plattform\u00fcbergreifende Bibliothek 7.0.0 ver\u00f6ffentlicht. <a rel=\"nofollow\" href=\"https:\/\/github.com\/ArthurSonzogni\/FTXUI\">FTXUI<\/a>, die zur Erstellung von C++-Anwendungen mit textbasierten Schnittstellen gedacht ist und unter der MIT-Lizenz verbreitet wird.<\/p>\n<p><\/noindex><\/p>\n<p>Funktionen der Bibliothek:<\/p>\n<ul>\n<li>funktionaler Stil, \u00e4hnlich wie bei React JS;<\/li>\n<li>ein einfacher und eleganter Stil (laut Meinung des Bibliotheksautors);<\/li>\n<li>Verarbeitung von Tastatur- und \u201eMaus\u201c-Ereignissen;<\/li>\n<li>Unterst\u00fctzung von UTF8 und Unicode;<\/li>\n<li>Unterst\u00fctzung von True Color;<\/li>\n<li>Unterst\u00fctzung der Cursorstil\u00e4nderung;<\/li>\n<li>Unterst\u00fctzung von Animationen;<\/li>\n<li>Unterst\u00fctzung von Zeichnen;<\/li>\n<li>keine externen Abh\u00e4ngigkeiten;<\/li>\n<li>Plattformunabh\u00e4ngigkeit (Linux\/MacOS, WebAssembly, Windows).<\/li>\n<\/ul>\n<h5>\u00c4nderungen<\/h5>\n<p><strong>Dokumentation<\/strong><\/p>\n<ul>\n<li>Die Dokumentationserstellung mit Doxygen wurde verbessert.<\/li>\n<li>Ein eigenes Thema f\u00fcr Doxygen wurde hinzugef\u00fcgt.<\/li>\n<li>Die Dokumentation wurde in mehrere Seiten unterteilt.<\/li>\n<\/ul>\n<p><strong>Kompilation<\/strong><\/p>\n<ul>\n<li>Das Skript tools$ amalgamate.py wurde hinzugef\u00fcgt, um den &laquo;amalgamierten&raquo; Quellcode zu generieren: ftxui.cpp (534 KB), ftxui.hpp (110 KB) und ftxui_all.hpp (643 KB).<\/li>\n<li>Unterst\u00fctzung f\u00fcr C++20-Module wurde hinzugef\u00fcgt.<\/li>\n<li>Unterst\u00fctzung f\u00fcr Meson wurde hinzugef\u00fcgt.<\/li>\n<li>Die Abh\u00e4ngigkeit von pthread wurde entfernt.<\/li>\n<li>Die Unterst\u00fctzung f\u00fcr Bazel wurde verbessert.<\/li>\n<li>Weitere Verbesserungen.<\/li>\n<\/ul>\n<p><strong>\u00c4nderungen zur Kompatibilit\u00e4t mit fr\u00fcheren Versionen<\/strong><\/p>\n<ul>\n<li>Umbenennungen:\n<ul>\n<li>Pixel in `Cell<\/li>\n<li>Image in Surface<\/li>\n<li>ScreenInteractive in App<\/li>\n<li>Methode PixelAt in CellAt<br \/>\nUm die Kompatibilit\u00e4t zu gew\u00e4hrleisten, wurden Aliase und Header bereitgestellt, um die Funktionalit\u00e4t des bestehenden Codes nicht zu beeintr\u00e4chtigen.<\/li>\n<\/ul>\n<\/li>\n<li>Verwendung von std::string_view anstelle von const std::string&amp; wo immer m\u00f6glich. Dies verbessert die Kompatibilit\u00e4t mit String-Literalen und vermeidet unn\u00f6tige Kopien.<\/li>\n<\/ul>\n<p><strong>Komponenten<\/strong><\/p>\n<ul>\n<li>Das Signalsystem wurde verbessert und modernisiert, indem POSIX sigaction verwendet wird, um eine zuverl\u00e4ssige Maskierung von Signalen zu gew\u00e4hrleisten. Es wird ein doppeltes Wiederherstellen des Terminals beim Verlassen des Programms durch atomare Verfolgung des urspr\u00fcnglichen Zustands verhindert. Unterst\u00fctzung f\u00fcr zus\u00e4tzliche POSIX-Signale (SIGBUS, SIGSYS als Fehler- und SIGQUIT, SIGHUP als verz\u00f6gerte Abschluss-Signale) wurde hinzugef\u00fcgt und Sicherheitsprobleme mit asynchronen Signalen wurden behoben.<\/li>\n<li>Ein Problem mit der Cursoranzeige bei Verwendung eines benutzerdefinierten Renderers in verschachtelten Containern wurde behoben.<\/li>\n<li>Die Cursorpositionierung in Eingabefeldern und die Stabilit\u00e4t der Bildlaufbewegung wurden verbessert.<\/li>\n<li>Die Unterst\u00fctzung nicht-ASCII-Zeichen im Passwort-Eingabemodus wurde verbessert.<\/li>\n<li>Das Flackern des Cursors bei der Neuzeichnung in App wurde beseitigt.<\/li>\n<li>Eingabeverarbeitung mit POSIX-Pipes\n<ul>\n<li>Erm\u00f6glicht es FTXUI-Anwendungen, Daten aus stdin (bei Verwendung einer Pipe) zu lesen und dabei weiterhin Tasteneingaben im Terminal zu akzeptieren.<\/li>\n<li>Wird standardm\u00e4\u00dfig verwendet.<\/li>\n<li>Kann durch Verwendung von App::HandlePipedInput(false) deaktiviert werden.<\/li>\n<li>Nur in Linux und macOS verf\u00fcgbar.<\/li>\n<\/ul>\n<\/li>\n<li>Viele Fehler wurden behoben.<\/li>\n<\/ul>\n<p><strong>DOM<\/strong><\/p>\n<ul>\n<li>Unterst\u00fctzung f\u00fcr Zeilenumbr\u00fcche (n) innerhalb von text() und vtext().<\/li>\n<li>Nun \u00fcbertr\u00e4gt dbox den Fokus von oberen auf untere Ebenen, was der visuellen Darstellung entspricht.<\/li>\n<li>Unterst\u00fctzung f\u00fcr Dekoratoren von Tabellenr\u00e4ndern hinzugef\u00fcgt. Damit ist es beispielsweise m\u00f6glich, die Farbe der Tabellenr\u00e4nder zu \u00e4ndern.<\/li>\n<li>Ein Fehler bei der ganzzahligen \u00dcberlauf im ComputeShrinkHard wurde behoben.<\/li>\n<li>Eine Spezialisierung in vbox\/hbox\/dbox wurde hinzugef\u00fcgt, um den Container Element als Eingabedaten verwenden zu k\u00f6nnen.<\/li>\n<li>Im gridbox wurde das Hinzuf\u00fcgen von Kinderelementen korrigiert.<\/li>\n<li>Die Anzeige des Gauge wurde korrigiert.<\/li>\n<li>Parametrisierte Varianten der Flex-Dekoratoren mit dem Parameter _factor wurden hinzugef\u00fcgt. Sie erm\u00f6glichen die Angabe von benutzerdefinierten Dehnungs- oder Kompressionsfaktoren:<br \/>\nflex_factor(grow, shrink), flex_grow_factor(grow), flex_shrink_factor(shrink), sowie Varianten f\u00fcr die Achsen x und y.<\/li>\n<\/ul>\n<p><strong>Optimierungen der Darstellung<\/strong><\/p>\n<ul>\n<li>Die Optimierung der Cursorbewegung \u00fcber Zeilen in der Methode Screen::ResetPosition (ohne Bildschirmreinigung) in einem parametrisierten Satz von CSI-Befehlen zur Cursorverschiebung nach oben (x1B[A) anstelle der Ausgabe eines x1B[1A pro Zeile. Dies reduzierte die Anzahl der Escape-Zeichen pro Frame w\u00e4hrend der Neuzeichnung (z. B. ~197 -&gt; 6 Byte f\u00fcr einen Bildschirm mit 50 Zeilen, ~33-fache Reduzierung).<\/li>\n<li>Die Funktionen Screen::ToString(), Color::Print() und string_width() wurden optimiert, was zu einer Beschleunigung f\u00fchrten:\n<ul>\n<li>Grundlegendes Rendering um ~27%.<\/li>\n<li>Text-Rendering um ~27%.<\/li>\n<li>Stil-Rendering um ~38%.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Quelle: <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.1.1 - 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\/de\/blog\/news\/ftxui-7-0-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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\/de\/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\/de\/blog\/news\/ftxui-7-0-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/182110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=182110"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/182110\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=182110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=182110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=182110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}