libcursedrl, 2019 -- 2022
This file last updated on 1 January, 2022
The library should never pull in any readline headers via its headers nor clients should have to include them in order to use the library. They uses some very generic names, some of which are macros, all of which can cause conflicts in completely unrelated code.
It was created for a couple of projects, has minimally necessary functionality and can change quite a bit in the future.
To use it clone the repository (possibly as a submodule) and handle the building
with the build system that's used by the main project. Compile with C++11
enabled and headers of libcursed available under
cursed/ prefix. Obviously
link in libcursed and link against
Alternatively one can use xmake to consume submodule as a
subproject (example assumes it's stored under
The library doesn't provide a widget, instead it accepts reference to one created and placed on the screen by the client. It automatically updates and resizes the screen while handling input.