awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
gyscos avatar

gyscos/Cursive

0
View on GitHub↗
4,810 stars·264 forks·Rust·MIT·3 vues

Cursive

Cursive est une boîte à outils d'interface utilisateur de terminal multiplateforme et un framework pour construire des applications interactives en Rust. Il fournit un système modulaire pour créer des interfaces graphiques basées sur du texte, utilisant un moteur dédié pour gérer la boucle d'affichage principale et les hiérarchies de vues.

La boîte à outils dispose d'une couche d'abstraction agnostique du backend pour garantir un rendu et une gestion des entrées cohérents sur différents systèmes d'exploitation. Elle se distingue par un moteur de thème basé sur une palette qui prend en charge le chargement de thèmes au moment de l'exécution et le rendu en couleurs réelles (true color), ainsi que la capacité de générer des hiérarchies d'interface utilisateur directement à partir de fichiers de configuration.

Le framework couvre un large éventail de capacités, notamment la gestion de mise en page complexe avec des panneaux divisés et des onglets, et une variété de composants interactifs tels que des boîtes de dialogue modales, des indicateurs de progression et des listes sélectionnables. Il prend en charge le rendu de contenu riche pour les images et la coloration syntaxique, et emploie un système de routage d'événements à cycle de focus pour gérer la navigation au clavier et les rappels globaux.

La gestion de l'état est traitée via des mises à jour d'interface utilisateur asynchrones et un accès basé sur des identifiants, permettant aux développeurs de modifier dynamiquement des vues spécifiques à partir de tâches en arrière-plan.

Features

  • Rust TUI Frameworks - A comprehensive toolkit for building interactive text user interfaces in the Rust programming language.
  • Cross-Platform TUI Frameworks - Provides a framework for building interactive text-based user interfaces that work across multiple operating systems.
  • Terminal User Interfaces - Provides a full framework and engine for building, styling, and managing interactive text-based user interfaces.
  • Cross-Platform Terminal Utilities - Ensures consistent visual behavior and rendering for terminal applications across different operating systems.
  • Terminal Abstractions - Provides a backend-agnostic abstraction layer that normalizes terminal capabilities and input handling across different operating systems.
  • Terminal UI Frameworks - Provides a component-based architecture for creating interactive command-line interfaces with complex layouts.
  • TUI Layer Composition - Stacks visual components like text blocks and checkboxes to define screen layout and content.
  • Terminal Layout Engines - Implements a layout engine to organize complex screen arrangements using split panels, tabs, and nested views.
  • View Hierarchies - Organizes user interface elements into a parent-child tree of nested containers and widgets for structured rendering.
  • Flexible Layout Systems - Implements a flexible layout system using proportional units for responsive terminal UI design.
  • Layout Organizing Containers - Uses resizable dividers, tabs, and split panels to structure the terminal workspace layout.
  • Modular UI Compositions - Constructs complex interactive terminal applications by combining modular, independent view components.
  • Rust TUI Toolkits - Offers a comprehensive toolkit for developing terminal-based interfaces with event and state management in Rust.
  • TUI Component Rendering - Renders a wide array of terminal-based interface elements including tables, trees, and tabs.
  • View Stack Managers - Controls interface depth by pushing and popping view layers in a managed stack.
  • UI Layer Stacking - Manages multiple interface screens by stacking components to handle popups and transitions.
  • Terminal UI Layouts - Provides components for arranging interface elements within flexible containers for terminal-based applications.
  • View Identification - Tags UI elements with unique identifiers to enable mutation and retrieval from application logic.
  • Dynamic Theme Loading - Provides runtime loading of external theme files to dynamically change visual styles and enable true color rendering.
  • Global Input Listeners - Captures keyboard and mouse events to trigger application-wide actions independently of the current focus.
  • Keyboard and Mouse Event Capture - Captures and maps keyboard and mouse input to callbacks and manages focus transitions.
  • Task Progress Indicators - Renders progress bars with custom ranges and colors to visualize the completion status of tasks.
  • Interactive CLI Tooling - Enables the design of interactive CLI tools featuring menus, forms, and dialogs with real-time status updates.
  • Widget Focus Navigations - Provides keyboard-driven focus navigation to cycle through interactive GUI widgets sequentially.
  • Rich Content Renderers - Renders rich content including images, HTML markup, calendars, and hexadecimal views directly within the terminal.
  • Keyboard Navigation Interception - Intercepts key presses to execute custom logic before the default event handler processes them.
  • Asynchronous UI Refresh - Refreshes views and progress indicators using data received from asynchronous background tasks.
  • Virtual Color Palettes - Employs a palette-based theme engine using placeholder color tokens that resolve to runtime-configurable theme colors.
  • Decorative Text Effects - Decorates text with custom colors and gradients using a palette-based system for visual emphasis.
  • Identifier-Based View Mutation - Allows dynamic modification of view content and data access using unique view identifiers.
  • Architectural State Synchronizers - Implements a system to synchronize UI state changes between background tasks and the main display loop via decoupled event messaging.
  • Global Event Callbacks - Implements a system for defining and clearing global functions that respond to application-wide events.
  • Global State Managers - Maintains a global application state shared across various UI components.
  • Linear Positioning - Positions multiple UI elements side-by-side or in columns using horizontal and vertical layout containers.
  • Interactive UI Elements - Implements interactive input interfaces with buttons and selection menus to collect user data.
  • Interface Theming - Implements mechanisms for overriding default visual styles, colors, and border variables.
  • Linear Layouts - Organizes interface elements in single horizontal or vertical rows with relative stretching.
  • Modal Dialogs - Provides overlay components for focused user interaction and notifications via centered modal windows.
  • Select Inputs - Provides dropdown-style select components for choosing values from a predefined list.
  • Focus Management - Provides a system for managing keyboard focus and navigation cycles through interactive elements.
  • Dimension Controllers - Provides programmatic control over fixed widths and heights of UI elements to maintain structure.
  • Rich Text Renderers - Provides components to render text with markup decorations and support for non-ASCII characters and international languages.
  • Specialized Data Components - Renders complex data structures including tables, trees, and calendars directly within the terminal interface.
  • Syntax Highlighters - Includes syntax highlighters that render code snippets by mapping language patterns to visual styles.
  • Tabbed Navigation - Organizes multiple views into selectable tabbed sections to facilitate interface navigation.
  • Terminal Data Visualizations - Renders structured information including tables, trees, and progress bars using text-based graphics in the terminal.
  • Text Input Fields - Implements editable text fields for capturing single-line and multi-line string input from the user.
  • Text Markup Parsers - Parses and displays formatted text using a dedicated system to apply visual styles and gradients.
  • User Input Capture - Collects user data via text fields and sliders to drive the internal application logic.
  • TUI Scroll Views - Wraps content in scroll views to control positioning and handle scrolling events.
  • Window Management Components - Provides framed window containers for organizing content with titles and interactive buttons.
  • Instance Identifiers - Uses unique identifiers assigned to view instances to allow targeted updates and communication from external callbacks.
  • Outils de développement - Library for building rich TUI applications.

Historique des stars

Graphique de l'historique des stars pour gyscos/cursiveGraphique de l'historique des stars pour gyscos/cursive

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Cursive

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Cursive.
  • migueldeicaza/gui.csAvatar de migueldeicaza

    migueldeicaza/gui.cs

    11,070Voir sur GitHub↗

    gui.cs is a .NET terminal user interface toolkit and framework used to build interactive, cross-platform text-based applications. It provides a structured system for composing terminal views using a view hierarchy and a dedicated layout engine. The library distinguishes itself through a component-based widget system and a constraint-based layout engine that allows interfaces to remain responsive across different terminal window dimensions. It employs a virtual-screen buffer to minimize flickering during redraws and uses state-driven theme configurations to maintain persistent visual styles.

    C#
    Voir sur GitHub↗11,070
  • rivo/tviewAvatar de rivo

    rivo/tview

    13,928Voir sur GitHub↗

    tview is a library for building interactive text-based user interfaces in Go. It functions as a toolkit for managing event loops, user input, and screen rendering, providing a framework of pre-built widgets and an integrated layout engine for creating command-line applications. The project distinguishes itself through a comprehensive layout system that uses grid and flexbox models to create responsive designs. It also supports UI layer stacking to manage multiple screens and modal overlays. The framework includes a diverse suite of interactive components for data display, such as tables and

    Gogolangterminal-baseduser-interface
    Voir sur GitHub↗13,928
  • willmcgugan/textualAvatar de willmcgugan

    willmcgugan/textual

    36,292Voir sur GitHub↗

    Textual is a Python TUI framework and asynchronous UI library used to build interactive text user interfaces. It provides a component-based architecture for creating cross-platform applications that run in both terminal and web browser environments. The framework distinguishes itself by utilizing a CSS-based layout engine to apply visual styles to widgets and a command palette interface for discovering and executing application functions. It also supports hosting terminal-based interfaces on the web to enable remote access via a standard browser. The toolkit covers a broad range of capabilit

    Python
    Voir sur GitHub↗36,292
  • fdehau/tui-rsAvatar de fdehau

    fdehau/tui-rs

    10,875Voir sur GitHub↗

    tui-rs is a Rust framework for building rich terminal user interfaces and dashboards. It provides a terminal layout engine for dividing the screen into flexible rectangular regions and a widget library for rendering data in a terminal. The project includes a cross-platform terminal backend abstraction layer to ensure consistent rendering and compatibility across different operating system terminal drivers. The framework covers a wide range of UI components, including data visualization tools such as charts, progress gauges, and sparklines, as well as structural elements like data tables, ite

    Rust
    Voir sur GitHub↗10,875
Voir les 30 alternatives à Cursive→

Questions fréquentes

Que fait gyscos/cursive ?

Cursive est une boîte à outils d'interface utilisateur de terminal multiplateforme et un framework pour construire des applications interactives en Rust. Il fournit un système modulaire pour créer des interfaces graphiques basées sur du texte, utilisant un moteur dédié pour gérer la boucle d'affichage principale et les hiérarchies de vues.

Quelles sont les fonctionnalités principales de gyscos/cursive ?

Les fonctionnalités principales de gyscos/cursive sont : Rust TUI Frameworks, Cross-Platform TUI Frameworks, Terminal User Interfaces, Cross-Platform Terminal Utilities, Terminal Abstractions, Terminal UI Frameworks, TUI Layer Composition, Terminal Layout Engines.

Quelles sont les alternatives open-source à gyscos/cursive ?

Les alternatives open-source à gyscos/cursive incluent : migueldeicaza/gui.cs — gui.cs is a .NET terminal user interface toolkit and framework used to build interactive, cross-platform text-based… rivo/tview — tview is a library for building interactive text-based user interfaces in Go. It functions as a toolkit for managing… willmcgugan/textual — Textual is a Python TUI framework and asynchronous UI library used to build interactive text user interfaces. It… fdehau/tui-rs — tui-rs is a Rust framework for building rich terminal user interfaces and dashboards. It provides a terminal layout… gui-cs/terminal.gui — Terminal.Gui is a cross-platform .NET toolkit for building interactive text-based user interfaces. It provides a… cosscom/coss — Coss is an accessible UI component library and design system framework used to build web interfaces. It provides a…