cwidget is a C++ user interface library for terminal-based applications. [[toc ]] ## Introduction cwidget is a modern, high-level C++ user interface library using [ncurses][] as its display and input layer. It uses the signal/slot programming model popularized by toolkits such as [GTK+][] and [Qt][], using [SigC++][] to provide signals and slots. [GTK+]: [Qt]: [SigC++]: [ncurses]: This screenshot of [aptitude][] in action shows some of cwidget's features: !["Screenshot"](aptitude-cwidget.png) [aptitude]: For more details and information about [[getting_cwidget|documentation/downloading]], see the cwidget [[documentation]]. ## Features cwidget's features include: * Support for overlapping widgets. * Event-driven programming using signals and slots. * A well-defined threading model with support for injecting events from background threads into the foreground thread. * Support for formatting text with styles, paragraph flowing, and indented blocks. * Support for cascading, user-configurable styles. ## Status cwidget was originally an internal user interface library for the [aptitude][] package manager. This means, on the one hand, that cwidget is known to work in the real world for a real application; on the other hand, it means that the feature set of cwidget is coextensive with the requirements of aptitude. Features not needed by aptitude may be missing or incomplete, and cwidget's documentation is spotty. For this reason, the current focus of cwidget development is on filling in gaps in the library and documenting existing code. ## Contact * Questions about downloading, compiling, installing, or writing software that uses cwidget should be directed to . To subscribe to this list, visit its [web page][cwidget-users]. * Bug reports, feature requests, patches, and general discussion about the [[development|documentation/contributing]] of cwidget should be directed to . To subscribe to this list, visit its [web page][cwidget-devel]. [cwidget-users]: [cwidget-devel]: ---- This Web site is generated by [ikiwiki](http://ikiwiki.info).