I'm looking for a ncurses-like framework for C++ that handles both the rendering and the layout of the UI components almost automatically.

What I mean by a fluid layout is a system somewhat similar to the HTML/CSS box model (margin, size, etc.); there are mins and maxes that the browser uses to render the page.

Designing a GUI using only a coordinate plane is highly inefficient and likely buggy. Furthermore, it usually breaks when using a different computer or when resizing the SSH window.

If I was building it (aka what I had in mind, but not necessarily the way the library has to be set up), I would set it up into columns and rows nested inside those columns. Each row would be a certain component type, like a paragraph or a button. Each of those would have a property for margins and min/max sizes. Also, columns would have min and maxes themselves, so it would be possible to have fixed width columns. Again, this is just how I'm picturing it in my head, not the requirements.


  • Open source for poking around in; preferably a less restrictive license
  • Uses ncurses or an equivalent with a comparable amount of compatibility for different terminals/SSH (Mac, PuTTY).
  • Buttons, text boxes, etc. built in

Would like:

  • In depth, well-written documentation

NDK++ is pretty cool, but it still is based on a grid layout.

I don't completely care about the flexibility it gives me since this will be for a back-end, second class user interface that I want to just work.

  • +1 , looking for same but haven't found anything. – Abhinav Gauniyal Mar 1 '15 at 8:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.