EasyMenu

A lightweight, header-only C++ library for building interactive console menus

Overview

EasyMenu is a modern, cross-platform C++ library designed to simplify the creation of interactive console menus. With a minimal, dependency-free API, you can quickly build professional menu systems for command-line applications.

Key Features

Header-Only

No compilation required. Simply include the headers and start building menus immediately.

Cross-Platform

Works seamlessly on Windows, Linux, and macOS through a unified API.

Simple API

Intuitive methods for creating, managing, and displaying menus with minimal code.

Adaptive Rendering

Automatically adjusts to terminal size with paginated item display.

Customizable

Flexible header and footer components for complete visual control.

Zero Dependencies

No external libraries required. Pure C++ standard library implementation.

Quick Example

#include <iostream>
#include <EasyMenu.h>

int main() {
    EasyMenu menu("Main Menu");

    menu.AddItem("New Game");
    menu.AddItem("Load Game");
    menu.AddItem("Settings");
    menu.AddItem("Exit");

    unsigned int choice = menu.RunMenu();

    if (choice > 0) {
        std::cout << "You selected: " << choice << std::endl;
    }

    return 0;
}

Getting Started

Ready to start building console menus? Follow these steps:

  1. Install the library by including the headers in your project
  2. Follow the Quick Start Guide to create your first menu
  3. Explore the API Documentation for advanced features
  4. Check out examples for common use cases

Platform Support

EasyMenu has been tested and verified on:

License

EasyMenu is released under the MIT License. You are free to use, modify, and distribute this library in both personal and commercial projects.