Skip to content
ImTui: Immediate Mode Text-based User Interface library for C++
C++ CMake
Branch: master
Clone or download
Latest commit 1e9cca0 Dec 14, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Fix build Dec 14, 2019
include/imtui [hnterm] disable mouse for emscripten build Dec 14, 2019
src Fix build Dec 14, 2019
third-party Fix display of text input cursor Dec 9, 2019
.gitignore Initial version Dec 8, 2019
.gitmodules Initial version Dec 8, 2019
CMakeLists.txt Working "hnterm" emscripten build Dec 14, 2019
LICENSE Initial version Dec 8, 2019
README.md Update README.md Dec 14, 2019

README.md

imtui

ImTui is an immediate mode text-based user interface library. Supports 256 ANSI colors and mouse/keyboard input.

imtui-sample

imtui-screenshot-0

imtui-screenshot-1

Live demo in the browser

Eventhough this library is supposed to be used in the terminal, for convenience here is an Emscripten build to demonstrate what it would look like, by simulating a console in the browser:

Note: the demos work best with Chrome

Details

This library is 99.9% based on the popular Dear ImGui library. ImTui simply provides an ncurses interface in order to draw and interact with widgets in the terminal. The entire Dear ImGui interface is available out-of-the-box.

For basic usage of ImTui, check one of the available samples:

Note: the current implementation is experimental, so don't expect all things to work.

Building

ImTui depends only on libncurses

Linux and Mac:

git clone https://github.com/ggerganov/imtui --recursive
cd imtui
mkdir build && cd build
cmake ..
make

./bin/imtui-example-ncurses0

Emscripten:

git clone https://github.com/ggerganov/imtui --recursive
cd imtui
mkdir build && cd build
emconfigure cmake ..
make
You can’t perform that action at this time.