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

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
jroimartin avatar

jroimartin/gocui

0
View on GitHub↗
10,575 stars·643 forks·Go·BSD-3-Clause·6 views

Gocui

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. Rendering capabilities include coordinate-based character placement and colored text to organize information within the terminal.

Features

  • Terminal User Interface Frameworks - Provides a comprehensive framework for building interactive, text-based user interfaces in Go using structured layouts.
  • Terminal Escape Sequence Parsers - Includes a parser for interpreting ANSI escape sequences to manage text attributes and layout formatting.
  • Terminal Escape Sequences - Provides low-level terminal control by parsing escape sequences for cursor positioning and text attributes.
  • Terminal Input Handlers - Implements a mechanism to capture and process raw keyboard and mouse events in terminal environments.
  • Character-Based Plotting - Provides a mechanism for rendering user interface elements on a two-dimensional grid using text characters.
  • ANSI Escape Sequence Renderers - Implements an engine that generates ANSI escape codes to control text colors and cursor positions in the terminal.
  • TUI Window Layering - Manages overlapping interface elements by maintaining a z-order of views during the rendering process.
  • Coordinate-Based Character Rendering - Implements precise character placement at specific coordinates with custom colors to build complex terminal layouts.
  • View Hierarchies - Organizes the screen into a structural hierarchy of rectangular views that can be positioned independently.
  • State Redraw Loops - Implements state-based redrawing loops to update modified regions of the terminal display.
  • Go TUI Libraries - Serves as a specialized library for creating text-based user interfaces using the Go programming language.
  • TUI - Provides a framework for organizing overlapping rectangular views and coordinates within a console display.
  • Terminal View Layering - Supports layering multiple windows on top of each other to organize the terminal interface.
  • Terminal View Management - Enables the definition and positioning of rectangular areas to organize structural layouts in the terminal.
  • Mouse Input Handlers - Processes terminal mouse events such as clicks and movements to create interactive interface elements.
  • Interactive CLI Tooling - Provides tooling for building command-line interfaces that respond dynamically to mouse clicks and keyboard events.
  • Keyboard Shortcuts - Allows mapping of specific keyboard inputs to trigger application actions across the TUI.
  • Event-Driven Input Handlers - Ships an event-driven system that routes keyboard and mouse inputs to specific handler functions based on the active view.
  • Terminal Text Coloring - Provides capabilities to apply different colors to text to visually distinguish various interface elements.
  • TUI Layout Design - Enables the creation of visual arrangements using overlapping windows and colored text to organize information.
  • Terminal Environment Initializers - Provides utilities to initialize the terminal state and organize views and keybindings for interactive TUI applications.
  • Command Line Interface - Minimalist package for building console interfaces.
  • Command Line Interfaces - Minimalist Go package for console user interfaces.
  • Console Interfaces - Listed in the “Console Interfaces” section of the Awesome Go awesome list.
  • Console UI - Minimalist console UI library.
  • Terminal User Interfaces - Minimalist library for creating console user interfaces.
  • TUI Libraries - Minimalist Go TUI package.

Star history

Star history chart for jroimartin/gocuiStar history chart for jroimartin/gocui

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does jroimartin/gocui do?

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.

What are the main features of jroimartin/gocui?

The main features of jroimartin/gocui are: Terminal User Interface Frameworks, Terminal Escape Sequence Parsers, Terminal Escape Sequences, Terminal Input Handlers, Character-Based Plotting, ANSI Escape Sequence Renderers, TUI Window Layering, Coordinate-Based Character Rendering.

What are some open-source alternatives to jroimartin/gocui?

Open-source alternatives to jroimartin/gocui include: gizak/termui — Termui is a Go terminal user interface library used for building interactive dashboards and visual layouts within a… nsf/termbox-go — termbox-go is a Go terminal user interface library and cross-platform terminal emulator abstraction. It provides a… gdamore/tcell — tcell is a Go terminal user interface library and framework for building cell-based applications. It functions as a… c-bata/go-prompt — go-prompt is a library for building interactive command-line interfaces in Go. It serves as a cross-platform console… prompt-toolkit/python-prompt-toolkit — This project is a Python terminal user interface library and toolkit designed for building interactive command-line… pterm/pterm — pterm is a Go terminal UI library used to build rich command-line interfaces. It provides toolsets for terminal data…

Open-source alternatives to Gocui

Similar open-source projects, ranked by how many features they share with Gocui.
  • gizak/termuigizak avatar

    gizak/termui

    13,574View on GitHub↗

    Termui is a Go terminal user interface library used for building interactive dashboards and visual layouts within a command-line environment. It functions as a TUI layout engine, an interactive CLI framework, and a terminal data visualization toolkit. The library provides a set of specialized widgets for rendering charts, plots, gauges, and tables using character-based graphics. It includes a grid-based system for arranging interface elements using relative coordinates and proportional sizing to create structured displays. The toolkit covers a broad range of capabilities including data visua

    Go
    View on GitHub↗13,574
  • nsf/termbox-gonsf avatar

    nsf/termbox-go

    4,786View on 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
    View on GitHub↗4,786
  • gdamore/tcellgdamore avatar

    gdamore/tcell

    5,076View on 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
    View on GitHub↗5,076
  • c-bata/go-promptc-bata avatar

    c-bata/go-prompt

    5,481View on GitHub↗

    go-prompt is a library for building interactive command-line interfaces in Go. It serves as a cross-platform console UI framework and terminal input manager, providing the tools necessary to capture user input and execute commands through a persistent interactive loop. The library features a dedicated auto-completion engine that provides real-time command suggestions. It also supports dynamic prompt prefixes updated via callback functions and a system for managing and recalling command history. The framework covers a broad range of terminal capabilities, including keyboard shortcut mapping,

    Goclicommand-lineinteractive
    View on GitHub↗5,481
See all 30 alternatives to Gocui→