Skip to content

Command Line User Interface (Console UI inspired by TurboVision)

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.BSD-2-Clause
Notifications You must be signed in to change notification settings

VladimirMarkelov/clui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

efb9cea · May 29, 2022
Jun 11, 2019
Feb 26, 2021
May 8, 2019
Jun 7, 2019
Apr 6, 2017
Mar 16, 2019
May 11, 2019
May 29, 2022
Jun 11, 2019
May 8, 2019
May 8, 2019
Jan 21, 2020
Sep 20, 2018
Jun 11, 2019
Sep 6, 2018
Oct 13, 2016
Oct 13, 2016
Oct 13, 2016
Sep 20, 2018
Jun 11, 2019
Sep 6, 2018
Sep 12, 2018
Apr 7, 2018
Sep 6, 2018
Apr 3, 2018
Apr 3, 2018
Aug 5, 2018
Oct 9, 2018
Oct 13, 2016
Sep 6, 2018
May 8, 2019
Apr 4, 2017
Oct 13, 2016
Aug 14, 2018
Oct 13, 2016
May 8, 2019
May 8, 2019
May 8, 2019
May 8, 2019
Dec 26, 2020
May 8, 2019
Jul 17, 2018
Dec 22, 2015
Jan 15, 2020
Jun 11, 2019
May 11, 2019

Repository files navigation

CLUI

Command Line User Interface (Console UI inspired by TurboVision) with built-in theme support. Please see screenshots of working examples at the end of the README.

Installation

go get -u github.com/VladimirMarkelov/clui

Current version

The current version is 1.2.1. Please see details in changelog.

Applications that uses the library

Documentation

The list of available controls

  • Window (Main control container - with maximize, window order and other window features)
  • Label (Horizontal and Vertical with basic color control tags)
  • Button (Simple push button control)
  • EditField (One line text edit control with basic clipboard control)
  • ListBox (string list control with vertical scroll)
  • TextView (ListBox-alike control with vertical and horizontal scroll, and wordwrap mode)
  • ProgressBar (Vertical and horizontal. The latter one supports custom text over control)
  • Frame (A decorative control that can be a container for other controls as well)
  • Scrollable frame
  • CheckBox (Simple check box)
  • Radio (Simple radio button. Useless alone - should be used along with RadioGroup)
  • RadioGroup (Non-visual control to manage a group of a few RadioButtons)
  • ConfirmationDialog (modal View to ask a user confirmation, button titles are custom)
  • SelectDialog (modal View to ask a user to select an item from the list - list can be ListBox or RadioGroup)
  • SelectEditDialog (modal View to ask a user to enter a value)
  • BarChart (Horizontal bar chart without scroll)
  • SparkChart (Show tabular data as a bar graph)
  • GridView (Table to show structured data - only virtual and readonly mode with scroll support)
  • FilePicker
  • LoginDialog - a simple authorization dialog with two fields: Username and Password
  • TextDisplay - a "virtual" text view control: it does not store any data, every time it needs to draw its line it requests the line from external source by line ID

Screenshots

The main demo (theme changing and radio group control)

Main Demo

The screencast of demo:

Library Demo

The library is in the very beginning but it can be used to create working utilities: below is the example of my Dilbert comix downloader:

Dilbert Downloader

License

CLUI is dual-licensed under MIT OR BSD-2-Clause