awesome-repositories.com
Blog
MCP
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
gdamore avatar

gdamore/tcell

0
View on GitHub↗
5,076 estrellas·345 forks·Go·apache-2.0·2 vistas

Tcell

tcell is a Go terminal user interface library and framework for building cell-based applications. It functions as a terminal emulator backend and input processor, utilizing a change-based diffing engine to manage screen state and efficiently render updates.

The project is distinguished by its pluggable backend abstraction, which allows terminal interfaces to be rendered across physical terminals or compiled into WebAssembly for web browser display. It provides a virtual screen simulation to enable programmatic event injection and output inspection for automated application testing.

Its capability surface covers wide-ranging terminal management, including terminfo-based capability detection, Unicode and grapheme-aware text rendering, and the normalization of keyboard and mouse events. The library handles low-level TTY device access, RGB color management, and the processing of bracketed paste sequences.

Features

  • Terminal Rendering Engines - Provides a terminal rendering engine that maps application state to visual interfaces with support for wide and combining characters.
  • Terminal User Interfaces - Provides a comprehensive framework for building interactive, cell-based text user interfaces in the Go language.
  • Keyboard and Mouse Event Capture - Monitors mouse movements and clicks to track cursor position and interaction state.
  • Terminal Input Handlers - Processes and normalizes raw keyboard, mouse, and clipboard events across different terminal environments.
  • Cell-Based Grid Renderers - Implements a cell-based grid renderer that controls the content and styling of individual characters for custom layouts.
  • Emulation Backends - Acts as a pluggable emulation backend handling low-level IO, terminfo detection, and raw mode management.
  • String Width Calculators - Calculates the visual length of strings by accounting for mixed-width characters and non-printing escape sequences.
  • Event Normalization - Translates raw terminal byte streams into a unified internal format for consistent keyboard and mouse events.
  • Pluggable Backends - Provides a pluggable backend architecture to support physical terminals, simulated screens, and WebAssembly targets.
  • Character Encoding Support - Ensures correct rendering of diverse character sets by converting text between various Unicode locales.
  • Cross-Platform TUI Frameworks - Offers a cross-platform TUI framework for managing terminal state and layouts across operating systems and web browsers.
  • Diffing-Based State Updates - Calculates differences between current and previous screen states to perform granular terminal updates.
  • Modifier Key Listeners - Reports modifier keys such as ALT and CTRL alongside base keys for consistent event handling.
  • Keyboard Input Listeners - Detects keyboard key presses, including virtual codes and physical locations, to handle user interactions.
  • Go TUI Libraries - Provides a specialized library for creating text-based user interfaces specifically for the Go programming language.
  • Terminal Grid Cell Stores - Implements a two-dimensional grid of character cells with styling and dirty-state tracking for efficient updates.
  • Input Normalization Utilities - Normalizes mouse button reporting across different operating systems to ensure consistent event identification.
  • Coordinate-Based Content Placement - Provides the ability to print strings and characters at precise coordinates using custom styles to build visual interfaces.
  • Terminal Input Handling - Processes and normalizes keyboard and mouse events specifically within a terminal emulator environment.
  • Terminal Device Handles - Provides low-level acquisition of terminal device handles to control screen output and process input events.
  • Double-Width Character Alignment - Handles the visual width calculation and alignment of Unicode characters that occupy two columns in the terminal grid.
  • Unicode and Color Output Renderers - Renders Unicode text with wide characters and locale conversion to ensure consistent visual output.
  • User Input Processing - Processes keyboard presses and modifier keys through an asynchronous event queue for user interaction.
  • User Interaction Handling - Captures keyboard and mouse input events to trigger application actions based on physical interaction.
  • Terminal Resize Detectors - Detects changes in terminal window dimensions and provides updated width and height to the application.
  • File and Console I/O - Controls raw mode and handles input and output streams to create interactive user interfaces.
  • Terminal Emulator Configuration - Allows overriding automatic capability negotiation for keyboard protocols and mouse reporting for non-standard emulators.
  • Terminal Feature Negotiation - Negotiates terminal features automatically or via overrides to ensure consistent behavior across different emulators.
  • Terminal Capability Detectors - Parses and expands terminfo database strings to determine supported features without hard-coding escape sequences.
  • Terminal Screen Simulators - Provides a programmable in-memory terminal screen to inject events and inspect output for automated testing.
  • Cell Content Retrievers - Allows retrieval of the character, style, and display width at specific coordinates to inspect rendered content.
  • Terminal Cursor Controllers - Provides programmatic control over cursor positioning and visibility using standard terminal escape sequences.
  • Event Handling Systems - Implements an event-handling architecture to process user input and system signals to determine event consumption.
  • State Redraw Loops - Triggers screen refreshes by sending wakeup events to the event loop based on state changes.
  • RGB Color Mapping - Translates RGB color values into compatible terminal color sequences based on the emulator's capabilities.
  • Terminal Compatibility Layers - Ensures consistent visual rendering across diverse terminal emulators by managing character encodings and capabilities.
  • Terminal Layout Configurations - Adjusts terminal dimensions to fit containers or sets specific row and column counts.
  • Terminal Text Coloring - Applies foreground and background colors to text via ANSI codes to display content at specific screen coordinates.
  • Terminal Text Attributes - Provides ANSI terminal attributes such as bold and italic to control the visual appearance of text.
  • True Color Support - Enables 24-bit true color rendering and color map application based on the terminal environment.
  • Terminfo-Based Detections - Uses the terminfo database to automatically detect supported colors, mouse protocols, and keyboard features.
  • Terminal Environment Initializers - Sets up initial terminal values and file descriptors to ensure screen states can be restored upon termination.
  • WebAssembly Terminal Renderers - Compiles terminal interfaces into WebAssembly for embedding and rendering within web browsers.
  • Command Line Tools - Terminal handling library.
  • Terminal Libraries - Go library for building terminal-based user interfaces.
  • TUI Libraries - Go terminal rendering package.

Historial de estrellas

Gráfico del historial de estrellas de gdamore/tcellGráfico del historial de estrellas de gdamore/tcell

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Preguntas frecuentes

¿Qué hace gdamore/tcell?

tcell is a Go terminal user interface library and framework for building cell-based applications. It functions as a terminal emulator backend and input processor, utilizing a change-based diffing engine to manage screen state and efficiently render updates.

¿Cuáles son las características principales de gdamore/tcell?

Las características principales de gdamore/tcell son: Terminal Rendering Engines, Terminal User Interfaces, Keyboard and Mouse Event Capture, Terminal Input Handlers, Cell-Based Grid Renderers, Emulation Backends, String Width Calculators, Event Normalization.

¿Qué alternativas de código abierto existen para gdamore/tcell?

Las alternativas de código abierto para gdamore/tcell incluyen: nsf/termbox-go — termbox-go is a Go terminal user interface library and cross-platform terminal emulator abstraction. It provides a… arthursonzogni/ftxui — FTXUI is a C++ terminal user interface library and cross-platform console framework used for building interactive… cronvel/terminal-kit — Terminal-kit is a Node.js toolkit for building command-line applications and console user interfaces. It provides a… jroimartin/gocui — gocui is a console user interface library for the Go programming language. It provides a toolkit for building… xtermjs/xterm.js — xterm.js is a high-performance terminal emulator library designed for web applications. It provides a core rendering… chrisbuilds/terminaltexteffects — This project is a terminal graphics library and command-line visual effects tool designed to create dynamic motion…

Alternativas open-source a Tcell

Proyectos open-source similares, clasificados según cuántas características comparten con Tcell.
  • nsf/termbox-goAvatar de nsf

    nsf/termbox-go

    4,786Ver en GitHub↗

    termbox-go is a Go terminal user interface library and cross-platform terminal emulator abstraction. It provides a system for creating text-based graphical interfaces by managing a terminal cell buffer and handling raw input events. The library functions as a terminal cell buffer manager and input handler. It maintains an internal grid of characters and colors, using a back buffer to synchronize updates to the physical screen and translate keyboard and mouse events into structured data. Its capability surface covers text user interface rendering and terminal display management, including cur

    Go
    Ver en GitHub↗4,786
  • arthursonzogni/ftxuiAvatar de ArthurSonzogni

    ArthurSonzogni/FTXUI

    9,686Ver en 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
    Ver en GitHub↗9,686
  • cronvel/terminal-kitAvatar de cronvel

    cronvel/terminal-kit

    3,366Ver en GitHub↗

    Terminal-kit is a Node.js toolkit for building command-line applications and console user interfaces. It provides a comprehensive suite of utilities for console text styling, terminal graphics rendering, input parsing, and interactive interface construction. The library features a cell-based text grid model, a component document tree for hierarchical layout of interactive widgets, and off-screen pixel buffering for multi-layered image composition and manipulation. It handles direct escape-sequence output control and raw-mode input parsing to manage display regions and capture user interaction

    JavaScript
    Ver en GitHub↗3,366
  • jroimartin/gocuiAvatar de jroimartin

    jroimartin/gocui

    10,575Ver en GitHub↗

    gocui is a console user interface library for the Go programming language. It provides a toolkit for building interactive terminal applications using a layout engine that organizes overlapping rectangular views and coordinates. The library features a terminal input handler to capture and map keyboard shortcuts and mouse events to specific application actions. It includes an ANSI escape sequence parser to manage text attributes, colors, and cursor positioning. The framework covers interface view management and overlapping window layering, allowing for a structured arrangement of content. Rend

    Gocuigogocui
    Ver en GitHub↗10,575
  • Ver las 30 alternativas a Tcell→