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

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
dankamongmen avatar

dankamongmen/notcurses

0
View on GitHub↗
4,347 stele·142 fork-uri·C·other·6 vizualizărinick-black.com/dankwiki/index.php/Notcurses↗

Notcurses

Notcurses is a terminal graphics engine and TUI library that renders high-fidelity images, video, and rich Unicode graphics directly in terminal emulators. At its core, it provides a layered framebuffer system that composes overlapping planes with independent depth and opacity, enabling complex visual scenes. The library also includes a terminal input processor for capturing and decoding keyboard and mouse events, a data visualization toolkit for histograms and line plots, a multimedia terminal player for images and video, and a TUI widget framework with reusable interface components.

The library distinguishes itself through a comprehensive set of integrated capabilities. Its rendering pipeline supports 24-bit RGB color with alpha blending and gradient interpolation, multithreaded parallel rendering with damage tracking, and a pixel-graphics blitting engine that converts pixel data into Unicode block characters or direct terminal pixel protocols. A terminal capability detection system probes the running terminal at startup to adapt rendering strategies for Sixel, Kitty, or Unicode support. The input event decoding layer maps raw terminal escape sequences into structured keyboard and mouse events using a private-use Unicode range, while a subprocess lifecycle manager handles spawning and communicating with child processes for multimedia playback.

Beyond its core identity, Notcurses provides a full widget composition framework with reusable UI components such as tabs, menus, progress bars, and selection lists. It supports terminal-based content presentation including data visualization with histograms and line plots, a manual page browser for documentation, and directory browsing with inline multimedia previews. The library also handles terminal initialization, signal handling, metric formatting, and runtime statistics collection for monitoring performance and resource usage.

Features

  • Terminal Graphics Rendering - Renders high-fidelity images, video, and rich Unicode graphics directly in terminal emulators.
  • Keyboard Input - Reads and decodes keyboard input events for interactive terminal applications.
  • Keyboard and Mouse Event Capture - Captures and decodes keyboard and mouse events from the terminal for interactive applications.
  • Terminal Input Handlers - Captures and decodes keyboard and mouse events for interactive terminal applications.
  • Terminal Input Handlers - Captures and decodes keyboard, mouse, and pointer events for interactive terminal applications.
  • Layered Framebuffers - Composes multiple independent planes with depth ordering and per-plane opacity for complex visual scenes.
  • Terminal Pixel Rendering - Renders images and video by converting pixel data into Unicode block characters or terminal pixel protocols.
  • Multithreaded Rendering Engines - Coordinates parallel rendering operations across threads with synchronization and damage tracking.
  • Terminal-Based Media Playback - Plays images and video files within a terminal using Sixel, Kitty, or Unicode blitting.
  • Terminal Plane Compositors - Stacks multiple planes in a total order and composites each cell by descending through them for terminal output.
  • TUI Scene Composition - Composes multiple planes in a z-order, blending colors and glyphs from top to bottom for terminal output.
  • Terminal Video Renderers - Renders images and video directly in terminal emulators using character-based graphics.
  • Terminal Capability Queries - Probes terminal features at startup to adapt rendering strategies for Sixel, Kitty, or Unicode support.
  • Wide-Character Formatting - Handles wide characters, emoji, and Unicode glyphs for correct terminal display.
  • Terminal Display Synchronizers - Synchronizes the virtual plane composition to the physical terminal display.
  • Virtual Plane Compositors - Synchronizes the composited virtual planes to the physical terminal display.
  • C++ Terminal UI Libraries - Provides a C/C++ framework for constructing complex, visually rich terminal interfaces.
  • TUI Window Layering - Builds complex terminal interfaces with overlapping planes and depth control.
  • Per-Cell Transparency Blenders - Blends foreground and background colors across planes using alpha settings for layered terminal graphics.
  • Terminal - Provides alpha blending and gradient interpolation for true-color terminal rendering across all operations.
  • Per-Channel Alpha Blenders - Blends foreground/background colors across planes using per-channel alpha settings with dynamic contrast adjustment.
  • Terminal UI Components - Constructs full-screen TUIs with widgets, menus, and event handling for terminal interaction.
  • TUI Component Libraries - Provides a comprehensive set of terminal UI widgets including tabs, menus, and progress bars.
  • Terminal Environment Initializers - Prepares the terminal for cursor-addressable mode, configuring display capabilities and returning a context handle.
  • Text Rendering on Planes - Outputs text onto virtual planes for layered, composable terminal layouts.
  • Terminal - Provides reusable UI components such as tabs, menus, progress bars, and selection lists for terminal interfaces.
  • Plotting and Visualization - Draws line plots and histograms directly in the terminal for data visualization.
  • Terminal - Generates histograms and line plots from data series for visual analytics in the terminal.
  • Keyboard Input Handlers - Captures and decodes keypresses from the terminal for interactive applications.
  • Subprocess Management - Spawns and manages child processes for multimedia playback and file operations.
  • Terminal Widget Toolkits - Provides reusable UI components like tabs, menus, and selection lists for terminal applications.
  • Terminal Resize Event Handlers - Responds to terminal window resize signals by updating screen dimensions and queuing events.
  • Terminal Cursor Controllers - Shows, hides, and moves the terminal cursor independently of rendered output.
  • Hierarchical Data Displays - Renders tree-structured data using line-based widgets for terminal navigation.
  • Selection Widgets - Provides high-level widgets for selecting one or multiple items from a set, including hierarchical data displays.
  • Box Drawing Renderers - Draws lines and boxes on virtual planes for structuring terminal interfaces.
  • Input Event Dispatchers - Reads raw input events from the terminal and decodes them into structured key and mouse data.
  • Progress Bar Widgets - Draws a progress bar widget that updates to reflect task completion.
  • Selection Widgets - Provides high-level widgets for selecting one or multiple items from a set.
  • Tabbed Interfaces - Offers a tabbed interface widget for organizing content into switchable panels.
  • Terminal Data Visualizations - Displays histograms, line plots, and progress bars for real-time terminal data monitoring.
  • Widget Frameworks - Provides reusable interface components like tabs, menus, progress bars, and selection lists.
  • TUI Libraries - Graphics and TUI library for C and Python.

Istoric stele

Graficul istoricului de stele pentru dankamongmen/notcursesGraficul istoricului de stele pentru dankamongmen/notcurses

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Întrebări frecvente

Ce face dankamongmen/notcurses?

Notcurses is a terminal graphics engine and TUI library that renders high-fidelity images, video, and rich Unicode graphics directly in terminal emulators. At its core, it provides a layered framebuffer system that composes overlapping planes with independent depth and opacity, enabling complex visual scenes. The library also includes a terminal input processor for capturing and decoding keyboard and mouse events, a data visualization toolkit for histograms and line plots,…

Care sunt principalele funcționalități ale dankamongmen/notcurses?

Principalele funcționalități ale dankamongmen/notcurses sunt: Terminal Graphics Rendering, Keyboard Input, Keyboard and Mouse Event Capture, Terminal Input Handlers, Layered Framebuffers, Terminal Pixel Rendering, Multithreaded Rendering Engines, Terminal-Based Media Playback.

Care sunt câteva alternative open-source pentru dankamongmen/notcurses?

Alternativele open-source pentru dankamongmen/notcurses includ: nsf/termbox-go — termbox-go is a Go terminal user interface library and cross-platform terminal emulator abstraction. It provides a… anomalyco/opentui — Opentui is a terminal user interface framework for building interactive command line applications. It provides a… gdamore/tcell — tcell is a Go terminal user interface library and framework for building cell-based applications. It functions as a… arthursonzogni/ftxui — FTXUI is a C++ terminal user interface library and cross-platform console framework used for building interactive… jroimartin/gocui — gocui is a console user interface library for the Go programming language. It provides a toolkit for building… charmbracelet/bubbles — Bubbles is a terminal user interface toolkit and component library providing a set of pre-built, reusable widgets for…

Alternative open-source pentru Notcurses

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Notcurses.
  • nsf/termbox-goAvatar nsf

    nsf/termbox-go

    4,786Vezi pe 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
    Vezi pe GitHub↗4,786
  • anomalyco/opentuiAvatar anomalyco

    anomalyco/opentui

    12,131Vezi pe GitHub↗

    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 capabilit

    TypeScript
    Vezi pe GitHub↗12,131
  • gdamore/tcellAvatar gdamore

    gdamore/tcell

    5,076Vezi pe GitHub↗

    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 capab

    Go
    Vezi pe GitHub↗5,076
  • arthursonzogni/ftxuiAvatar ArthurSonzogni

    ArthurSonzogni/FTXUI

    9,686Vezi pe 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
    Vezi pe GitHub↗9,686
  • Vezi toate cele 30 alternative pentru Notcurses→