awesome-repositories.com
المدونة
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
anomalyco avatar

anomalyco/opentui

0
View on GitHub↗
12,131 نجوم·617 تفرعات·TypeScript·MIT·7 مشاهداتopentui.com↗

Opentui

Opentui is a terminal user interface framework for building interactive command line applications. It provides a component-based system featuring a flexbox layout engine, a virtual node component tree, and a low-level 2D cell array renderer.

The project is distinguished by a sophisticated keyboard binding engine that maps complex multi-stroke sequences and chords to named commands using prioritized, reactive layers. It also implements a plugin architecture that allows external modules to inject custom UI components into designated layout slots and extend input logic at runtime.

Its capabilities cover rich text rendering—including syntax-highlighted code, markdown, and diff views—and advanced visual effects like alpha blending and RGBA matrix transformations. The framework includes a comprehensive input pipeline supporting the Kitty keyboard protocol, as well as a suite of interactive UI components such as multi-line text fields, selection menus, and value sliders.

The system can be compiled into a standalone executable with embedded native binaries for distribution.

Features

  • Terminal UI Frameworks - Provides a component-based terminal UI framework that binds interface logic to external state and lifecycle managers.
  • Terminal User Interface Frameworks - Provides a comprehensive framework for building interactive terminal user interfaces with a component-based architecture.
  • Keyboard Shortcut Mappings - Implements a sophisticated engine for mapping multi-stroke key sequences and chords to prioritized input layers.
  • Terminal User Interfaces - Provides a comprehensive framework for building interactive, component-based text user interfaces in the terminal.
  • Multi-Key Bindings - Translates string-based key syntax, including modifier chords and multi-stroke sequences, into active bindings.
  • Input Mapping Layers - Uses prioritized input mapping layers and conditional predicates to dispatch keyboard sequences to named commands.
  • Reactive - Registers keyboard input layers reactively based on component state and focus constraints.
  • Terminal Input Handlers - Intercepts and processes keyboard and mouse input through a customizable chain of handlers.
  • Plugin Management - Manages the lifecycle of plugins through activation and deactivation hooks for resource cleanup and state management.
  • Terminal Escape Sequences - Subscribes to custom terminal escape codes (OSC) to integrate specialized terminal features into application logic.
  • Input Adapters - Implements an adapter-based runtime to normalize disparate terminal input events and focus models into a unified internal engine.
  • Terminal Graphics Rendering - Implements a low-level 2D cell array renderer with alpha blending and RGBA matrix transformations.
  • Low-Level Rendering Engines - Utilizes a low-level 2D cell array renderer with alpha blending for high-performance graphics.
  • Keyboard Input Protocols - Uses the Kitty keyboard protocol to provide high-precision input data, including key release events.
  • Terminal Environment Detection - Queries and caches the active terminal palette to provide RGB fallbacks for non-truecolor environments.
  • Extensible Plugin Architectures - Features an architectural system allowing external modules to inject UI components and custom logic at runtime.
  • Plugin Architectures - Provides a runtime system for extending application functionality through modular UI components and input logic.
  • Programmatic Plugin Loading - Programmatically imports plugin modules from disk, ensuring they share runtime instances with the host application.
  • Component Hierarchies - Uses a virtual node component tree to nest declarative elements into complex visual hierarchies.
  • Component Slot Systems - Implements a slot-based system allowing external plugins to inject custom components into designated layout regions.
  • Terminal Color Formatting - Manages terminal colors using RGB, ANSI slots, and defaults for consistent theme rendering.
  • Declarative UI Components - Supports interface construction via both imperative instance-based approaches and declarative virtual node graphs.
  • Flexbox Layout Engines - Provides a flexbox-based layout engine for responsive component positioning and sizing within terminal interfaces.
  • Input Handling - Implements a low-level pipeline for capturing and normalizing raw keyboard events and specialized terminal protocols.
  • Keyboard Input Listeners - Captures keyboard presses, bracketed paste events, and mouse drag selections to trigger application logic.
  • Interaction and Event Handling - Implements a bubbling event system to handle keyboard focus and process mouse interactions.
  • Input Event Dispatchers - Directs keyboard events to specifically focused components to ensure only the active element responds.
  • Input Parsing - Parses terminal input into structured key and paste events to trigger application actions.
  • Input Handling - Associates keyboard inputs with named aliases and actions to simplify component-level command handling.
  • Sequence Disambiguation - Deno Input uses a timeout to distinguish between an exact key match and a prefix of a longer sequence.
  • Interactive UI Components - Provides a suite of built-in interactive components including text fields, sliders, and dropdowns for data entry.
  • Keyboard Event Handlers - Subscribes to keyboard events to trigger actions based on specific key presses or releases.
  • Keyboard Navigation - Enables interface navigation through arrow keys, page navigation, and home/end keyboard shortcuts.
  • Keyboard Sequence Handlers - Ships a sophisticated engine for mapping multi-stroke keyboard sequences and chords to named commands.
  • Layout Containers - Provides structured layout containers with borders and backgrounds to organize the terminal interface.
  • Markdown Renderers - Displays syntax-highlighted code, markdown, and diff viewers with integrated line numbers and diagnostics.
  • Virtual Node Trees - Composes the user interface using a virtual node component tree that maps to renderable terminal elements.
  • Reactive State Bindings - Binds mutable runtime state to input matching logic to dynamically enable or disable keyboard shortcuts.
  • Reusable UI Components - Provides a system for defining reusable UI elements via factory functions and property descriptions.
  • Rich Text Renderers - Provides a rich text rendering system supporting markdown, syntax highlighting, diffs, and ASCII art.
  • Text Rendering - Renders text with customizable colors, attributes, and selection states for visual hierarchy in the terminal.
  • Terminal Layout Engines - Composes responsive terminal interfaces using a combination of a component tree and a layout engine.
  • Text Input Managers - Integrates standard text editing commands and bindings that target the currently focused multi-line editor.
  • Incremental Streaming - Implements real-time markdown rendering that updates as content chunks arrive from external sources.
  • Predicate-Based State Management - Stores mutable key-value data that toggles the activation of input layers and bindings via runtime predicates.
  • Input Event Simulators - Simulates key events, focus changes, and raw input to validate keymap behavior using a host-agnostic harness.
  • Command Discovery - Queries the current state to find all reachable keys and associated commands based on focus.
  • Dynamic Command Resolution - Intercepts command strings to rewrite or resolve them into executable actions at runtime.
  • Keymap Syntax Extensions - Registers new tokens and string parsers to customize the notation used for keyboard shortcuts.
  • File Difference Renderers - Displays changes between two files in unified or split views with syntax highlighting and synchronized scrolling.
  • Binding Syntax Customization - Allows customizing how input is normalized and processed by rewriting or parsing key string syntax.
  • Leader Key Sequences - Creates a trigger key that arms a secondary set of bindings with optional automatic timeouts.
  • Text Area - Generates command layers for text area components, including support for edit-buffer commands.
  • Output Merging Strategies - Implements priority-based append and replace modes for merging plugin UI contributions with the fallback interface.
  • UI Slot Injection - Injects plugin-provided renderers into specific layout slots and manages their associated lifecycles.
  • Rich Text Scrollback Buffers - Supports the programmatic appending of rich text, colors, and markdown to the scrollback area.
  • Scrollback Viewports - Renders a scrollable output area for components positioned above a fixed footer.
  • Terminal Input Handlers - Integrates the Kitty keyboard protocol to capture high-precision input events and raw OSC sequences.
  • Text Selection Utilities - Enables users to select and copy specific portions of displayed code within the terminal interface.
  • Color Matrix Transformations - Performs RGBA matrix transformations on cells or the entire buffer to create visual effects.
  • Color Matrix Transformations - Applies RGBA matrix transforms to buffer cells to achieve advanced color blending and visual effects.
  • Input Event Interception - Hooks into the input pipeline to observe or consume raw key events before they reach the binding engine.
  • Keymap Overrides - Replaces existing key bindings with new ones at the layer level using command names.
  • Input Sequence Bindings - Binds active keymaps to component lifecycles to provide seamless access to active keys and sequences.
  • Contribution Points - Creates named slots in the layout where external plugins can register and contribute content at runtime.
  • RGBA Matrix Transformations - Applies RGBA matrix transforms to foreground and background channels across the entire terminal buffer.
  • Wait Conditions - Waits for rendering passes to settle or for specific visual conditions to be met before executing test assertions.
  • Visual Output Assertions - Generates a test renderer to validate snapshots and user interactions by inspecting rendered output.
  • Keyboard Layout Configurations - Matches key events against base hardware codes to maintain consistent bindings across different keyboard layouts.
  • Custom Component Extensions - Registers custom renderable elements as intrinsic tags to expand the available UI toolkit.
  • Multi-line Text Inputs - Implements multi-line text input components supporting cursor movement and text selection.
  • Markdown Renderers - Displays markdown text with syntax-aware styling and integrated code block highlighting.
  • Data Input Components - Provides a suite of data input components including text fields and selection lists for user data collection.
  • Input Token Definitions - Registers named tokens as semantic placeholders in binding strings to enable global updates via a single token.
  • Dynamic UI Injection - Contributes UI elements into predefined host regions without modifying the core application code.
  • Pluggable Layout Regions - Creates designated layout regions where external modules can render custom UI components without modifying source code.
  • Blending Utilities - Implements alpha transparency and RGB blending to create layered visual effects in the terminal.
  • Incremental Text Rendering - Optimizes syntax highlighting updates for incrementally arriving text, such as LLM outputs.
  • Input Metadata Extensions - Defines named single-stroke aliases and custom metadata fields for input layers, bindings, and commands.
  • Input Pattern Capturers - Captures repeated runtime input patterns to pass finalized values as payloads to associated commands.
  • Reactive Input Bindings - Connects reactive signals to input matching logic to enable or disable key bindings dynamically.
  • Interactive UI Elements - Provides interactive UI elements such as text fields and selection menus for user data entry.
  • TUI Framework Integrations - Connects terminal interface logic to external state stores and frontend frameworks for reactive updates.
  • Rendering Optimization Techniques - Implements offscreen child culling to reduce rendering overhead for large lists of content.
  • Responsive Layout Adapters - Automatically adapts element positioning and sizing when the terminal window is resized.
  • Scrollable Containers - Implements scrollable containers with bidirectional scrolling and sticky positioning for overflowing content.
  • Scrollbar Components - Provides interactive scrollbar components with draggable thumbs to navigate overflowing content.
  • Selectable Lists - Provides vertical selectable lists that users can navigate and interact with via keyboard.
  • Slider Components - Implements draggable value slider components for selecting continuous ranges in vertical or horizontal orientations.
  • Standard Output Redirectors - Intercepts writes to stdout and replays them above a pinned footer to maintain UI integrity.
  • Embedded Language Highlighting - Styles embedded code within other languages using injection mappings and code fence labels.
  • Syntax Highlighters - Renders source code with accurate syntax highlighting by parsing content through grammars.
  • Syntax Highlighting - Implements global and per-client language parser registration for fast, accurate code coloring.
  • Tabs - Ships horizontal tab navigation components for switching between different content sections.
  • Headless UI Interaction Testing - Verifies application behavior in a headless environment by driving simulated keyboard and mouse input.
  • Interface Display Modes - Manages whether the interface occupies the full alternate screen or a pinned footer region.
  • Frame Inspection Utilities - Verifies the user interface state by capturing character frames and styled spans to assert visual output.
  • Text Input Controls - Includes terminal-based input controls for capturing single-line and multi-line user text.
  • External State Integrations - Adapts external state stores into reactive matchers to dynamically enable or disable keyboard bindings.
  • UI Portals - Provides a portal system to mount components into alternative locations for creating overlays and modals.
  • Terminal Environment Listeners - Subscribes to terminal environment changes including window resizing, focus shifts, and palette updates.
  • Incremental Content Streaming - Supports real-time syntax highlighting and markdown parsing as content chunks stream in from external sources.

سجل النجوم

مخطط تاريخ النجوم لـ anomalyco/opentuiمخطط تاريخ النجوم لـ anomalyco/opentui

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

بدائل مفتوحة المصدر لـ Opentui

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Opentui.
  • arthursonzogni/ftxuiالصورة الرمزية لـ ArthurSonzogni

    ArthurSonzogni/FTXUI

    9,686عرض على GitHub↗

    FTXUI is a C++ terminal user interface library and cross-platform console framework used for building interactive command line applications. It functions as a declarative terminal layout engine and a component-based UI toolkit that enables the creation of responsive interfaces. The library is distinguished by its terminal graphics and animation capabilities, allowing for the rendering of custom shapes, data plots, and smooth visual transitions using easing functions. It provides a comprehensive set of interactive widgets and a layout system utilizing flexbox and grid containers that adapt to

    C++arthursonzogniasciiascii-art
    عرض على GitHub↗9,686
  • textualize/textualالصورة الرمزية لـ Textualize

    Textualize/textual

    36,285عرض على GitHub↗

    This project is a framework for building interactive, graphical-style terminal applications. It provides a declarative component model that organizes user interfaces into a tree of nested widgets, each managing its own lifecycle, state, and rendering. By subclassing the base application class, developers can construct complex, keyboard-navigable interfaces that run directly within terminal emulators. The framework distinguishes itself through a reactive architecture and a CSS-based layout engine. It uses a reactive attribute system to automatically track state changes and trigger targeted int

    Pythoncliframeworkpython
    عرض على GitHub↗36,285
  • chjj/blessedالصورة الرمزية لـ chjj

    chjj/blessed

    11,854عرض على GitHub↗

    This project is a terminal user interface library for Node.js, designed to facilitate the construction of interactive command-line applications. It provides a comprehensive toolkit of high-level widgets that abstract complex terminal escape codes and rendering logic, allowing developers to build functional interfaces using reusable components. The framework distinguishes itself by implementing a box-model-based layout engine and a virtual DOM-style reconciliation system. These mechanisms enable responsive design patterns—such as percentage-based sizing and relative positioning—to function wit

    JavaScript
    عرض على GitHub↗11,854
  • zellij-org/zellijالصورة الرمزية لـ zellij-org

    zellij-org/zellij

    33,683عرض على GitHub↗

    Zellij is a terminal multiplexer and workspace manager designed to organize command-line sessions into persistent, reconfigurable layouts. It functions as a terminal plugin framework, allowing users to extend their environment with modular, event-driven components that interact with the host through a structured message-passing protocol. The project distinguishes itself through a layout-engine-based architecture that decouples visual pane arrangements from process execution, enabling automated and repeatable terminal workflows. It includes integrated support for web-based remote access, facil

    Rustmultiplexerterminalworkspace
    عرض على GitHub↗33,683
عرض جميع البدائل الـ 30 لـ Opentui→

الأسئلة الشائعة

ما هي وظيفة anomalyco/opentui؟

Opentui is a terminal user interface framework for building interactive command line applications. It provides a component-based system featuring a flexbox layout engine, a virtual node component tree, and a low-level 2D cell array renderer.

ما هي الميزات الرئيسية لـ anomalyco/opentui؟

الميزات الرئيسية لـ anomalyco/opentui هي: Terminal UI Frameworks, Terminal User Interface Frameworks, Keyboard Shortcut Mappings, Terminal User Interfaces, Multi-Key Bindings, Input Mapping Layers, Reactive, Terminal Input Handlers.

ما هي البدائل مفتوحة المصدر لـ anomalyco/opentui؟

تشمل البدائل مفتوحة المصدر لـ anomalyco/opentui: arthursonzogni/ftxui — FTXUI is a C++ terminal user interface library and cross-platform console framework used for building interactive… textualize/textual — This project is a framework for building interactive, graphical-style terminal applications. It provides a declarative… chjj/blessed — This project is a terminal user interface library for Node.js, designed to facilitate the construction of interactive… zellij-org/zellij — Zellij is a terminal multiplexer and workspace manager designed to organize command-line sessions into persistent,… gizak/termui — Termui is a Go terminal user interface library used for building interactive dashboards and visual layouts within a… migueldeicaza/gui.cs — gui.cs is a .NET terminal user interface toolkit and framework used to build interactive, cross-platform text-based…