3 repos
Terminal User Interfaces — User Interface & Experience
We curate 3 GitHub repositories matching user interface & experience · Terminal User Interfaces. Refine with filters or upvote what's useful.
Terminal User Interfaces — User Interface & Experience
- microsoft/terminal
microsoft/terminal
101,848This project is a terminal emulator that provides a modern command-line interface with support for tabbed navigation, GPU-accelerated text rendering, and comprehensive Unicode character display. It functions as a host for multiple shell sessions, managing them as independent processes within a unified windowing environment while maintaining compatibility with legacy console applications through a robust sequence parsing engine. Beyond its role as a standalone application, the project is built on a modular architecture that exposes its core logic as a reusable library. This design allows developers to integrate native command-line functionality and terminal-control logic directly into custom desktop applications. The system utilizes a decoupled text buffer to separate content representation from the visual rendering layer, ensuring consistent performance and memory efficiency. Users can personalize their environment through a structured configuration schema that supports custom key bindings, profile management, and visual adjustments. The interface also provides flexible tab organization and command-line argument support to streamline workflows across diverse development environments.
C++cmdcommand-lineconsole - junegunn/fzf
junegunn/fzf
77,987This project is a general-purpose command-line filter that provides an interactive interface for processing standard input streams. It enables real-time fuzzy searching, data selection, and transformation, allowing users to navigate complex information or file systems directly within their terminal. By utilizing a pipe-oriented architecture, it integrates into existing shell pipelines and workflows to facilitate efficient data exploration. What distinguishes this tool is its highly extensible, event-driven design that allows for deep integration with external processes. It supports asynchronous data transformation and dynamic list reloading, enabling users to trigger shell commands or update content based on user interactions without blocking the interface. The system maintains selection identity across these updates, providing a consistent experience when managing large or streaming datasets. The project offers a comprehensive suite of features for terminal user interface development, including multi-threaded search performance, configurable preview windows, and support for various terminal multiplexers. It provides extensive customization options for visual layout, key bindings, and search logic, allowing developers to build custom selection interfaces or automate complex shell tasks. The tool is configured through environment variables and configuration files, supporting inline comments for maintainability. It is designed to be installed as a standalone command-line utility, with library integration options available for embedding its filtering capabilities into other applications.
Gobashclifish - jesseduffield/lazygit
jesseduffield/lazygit
72,698Lazygit is a terminal-based user interface designed to simplify version control operations through a keyboard-driven workflow. It functions as a visual abstraction layer that bridges native commands with an interactive environment, allowing users to manage repository history, branches, and commit workflows without relying solely on manual command-line input. The tool distinguishes itself by automating complex version control tasks that typically require multiple manual steps. It provides specialized interfaces for interactive rebasing, commit history amendment, and binary search-based regression analysis. By leveraging the internal reflog, it also enables users to undo or redo recent actions, providing a safety net for repository state changes. Beyond core version control, the application offers extensive support for managing branching models, worktrees, and custom shell integrations. Users can stage individual lines of code, visualize commit graphs, and define custom commands to automate repetitive tasks. The interface is built to be highly navigable, featuring text-based filtering, customizable keybindings, and persistent directory management to streamline daily development cycles.
Gocligitterminal