thekonst.net sections.   propaganda :: about :: konstware :: writings :: resume :: photohunt :: ::

ktools is a library which I wrote for my own programming needs, though its main purpose is to provide various text-mode user interface controls without a need to write too much code. Unfortunatelly, so far there is no documentation available, thus volunteering for such a task would be greatly appreciated. It's possible to get a clue with all the parts of the library from the examples included into the package. Now, a list of the main UI elements provided by ktools:

  • textwindow
    • A class that provides a window control.
  • treeview
    • A tree view element that consists of nodes, sub-nodes, sub-sub-nodes, etc. Can have any number of sub-levels.
  • textinputline
    • A text input control. Provides a text editing within a single fixed-sized control.
  • dialogbox
    • Dialog box is a container element that provides auto-layout of included elements. The ones that can be put into a dialog box are menus, tree views, text browsers, selection bars, etc.
  • fileselector
    • Provides a dialog with a feature to select one or more files or directories.
  • texteditor
    • Provides a text editor control with features to cut and paste blocks of text, undo and redo operations, syntax highlighting, etc.
  • textbrowser
    • A text browsing element. Up and down scrolling directions.
  • horizontalmenu
    • A horizontal menu item with an ability to define dropping down vertical sub-menus.
  • verticalmenu
    • A scrolling list-type vertical menu.
  • colorschemer
    • Color schemes manager for all the listed above controls. Supports loading and saving to files and specifying defaults.

Most of the code was written quite a long ago and since it's working so far I didn't try to rewrite it. That's why some places don't really contain a good-looking source. Anyway, it's usable. A small note. To display all of the stuff you'll also need to standard ncurses CRT handling library.

Distributed under the GNU General Public License.

Enjoy the program? Feel free to donate!


Make sure you have read the donations and support policy.



Amazing lib. No docs needed, just see the provided example! Never thought it was possible to do something like that in text mode..
-- Jurgen, Austria


  • Release 0.3 from 22 Jul 2003


  • ChangeLog
    The GNU License



    design and content, copyright © , 2001-2014 | ~ 4346 visits daily | statistics