LibCXX Windows Library


Installation, and requirements


LibCXXW is an optional add-on library to LibCXX that implements a basic X user interface toolkit with a modern C++17 API and without any dependencies on large Gnome (GTK) or QT libraries. The only dependencies are toolkit-independent libraries that are not tied to any particular desktop environment. See the section called “Installation, and requirements” for more information. LibCXXW aims to make it possible to quickly implement a simple, basic, no-frills X user interface in C++. Notable features:

  • Combines a clean modern look with classical, traditional UI elements. Mild gradient shading provides a subtle, non-intrusive 3D effect. UI elements include labels, text input fields, lists, combo-boxes, menus, and dialogs — updated to modern UI standards: confirming the last character typed into a password field before masking it, predictive selection of combo-box entries, spin buttons for numerical input fields, etc...

  • All display elements have full keyboard navigation, where possible. No explicit application support is needed. Even scroll-bars have keyboard controls.

  • Takes full advantage of modern C++17 language features. Lambdas handle UI events (button clicks, menu selections, and other activity). Variant types provide compact means for selecting alternative options. All display elements are reference-counted objects.

  • Fully scalable and themeable UI uses a library-specific scalable graphic format, to easily scale all UI elements to a user-preferred size.

  • LibCXX Windows Library does not force the application to use an event-driven design. LibCXX Windows Library runs in an internal execution thread that handles all X events. The library's execution thread continues to update the display elements, and process X events as needed, all by itself, while the main application performs a long-running task (with all pointer and button activity suspended).

  • LibCXX Windows Library is a compositing toolkit. The underlying video hardware must implement the X RENDER extension. This should be supported by all modern video hardware.

  • Anti-aliased fonts get rendered by the Freetype library.

LibCXX Windows Library is free software, distributed under the terms of the GPL, version 3.


LibCXX Windows Library's core functionality is complete, with minor improvements and enhancements ongoing, and it's source is available for downloading. The most recent build of LibCXX Windows Library implements splash windows, contains internal improvements to the window manager hints for dialog windows, and adds right pointer button popup menus to the file dialog that makes it possible to execute basic file operations (rename/delete) in the file dialog.