{"id":15294823,"url":"https://github.com/vladimirmarkelov/clui","last_synced_at":"2025-04-12T20:46:04.883Z","repository":{"id":1767439,"uuid":"42739550","full_name":"VladimirMarkelov/clui","owner":"VladimirMarkelov","description":"Command Line User Interface (Console UI inspired by TurboVision)","archived":false,"fork":false,"pushed_at":"2022-05-29T03:33:29.000Z","size":792,"stargazers_count":681,"open_issues_count":17,"forks_count":49,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-04-04T00:10:17.473Z","etag":null,"topics":["console","go","golang","gui","terminal","tui","ui","widgets"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VladimirMarkelov.png","metadata":{"files":{"readme":"README.md","changelog":"changelog","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-09-18T18:16:55.000Z","updated_at":"2025-03-27T16:07:19.000Z","dependencies_parsed_at":"2022-08-10T05:35:14.210Z","dependency_job_id":null,"html_url":"https://github.com/VladimirMarkelov/clui","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VladimirMarkelov%2Fclui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VladimirMarkelov%2Fclui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VladimirMarkelov%2Fclui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VladimirMarkelov%2Fclui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VladimirMarkelov","download_url":"https://codeload.github.com/VladimirMarkelov/clui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248631701,"owners_count":21136559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["console","go","golang","gui","terminal","tui","ui","widgets"],"created_at":"2024-09-30T17:07:13.519Z","updated_at":"2025-04-12T20:46:04.861Z","avatar_url":"https://github.com/VladimirMarkelov.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CLUI ![](https://travis-ci.org/VladimirMarkelov/clui.svg)\nCommand 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.\n\n## Installation\n\n    go get -u github.com/VladimirMarkelov/clui\n\n\n## Current version\nThe current version is 1.2.1. Please see details in [changelog](./changelog).\n\n## Applications that uses the library\n* Terminal FB2 reader(termfb2): https://github.com/VladimirMarkelov/termfb2\n* NMCLUI: A tool to connect to wifi networks from console, similar to nmtui. https://github.com/jairochavesb/nmclui.\n* Bookmarkscli: A command line bookmark manager. https://github.com/jairochavesb/bookmarkscli.\n\n## Documentation\n* [Introduction](/docs/intro.md)\n* [Getting started](/docs/hello.md)\n* [Layout manager](/docs/layout.md)\n* [Basic standrd control methods and properties](/docs/widget.md)\n* [About Windows](/docs/window.md)\n* [Predefined hotkeys](/docs/hotkeys.md)\n\n## The list of available controls\n* Window (Main control container - with maximize, window order and other window features)\n* Label (Horizontal and Vertical with basic color control tags)\n* Button (Simple push button control)\n* EditField (One line text edit control with basic clipboard control)\n* ListBox (string list control with vertical scroll)\n* TextView (ListBox-alike control with vertical and horizontal scroll, and wordwrap mode)\n* ProgressBar (Vertical and horizontal. The latter one supports custom text over control)\n* Frame (A decorative control that can be a container for other controls as well)\n* Scrollable frame\n* CheckBox (Simple check box)\n* Radio (Simple radio button. Useless alone - should be used along with RadioGroup)\n* RadioGroup (Non-visual control to manage a group of a few RadioButtons)\n* ConfirmationDialog (modal View to ask a user confirmation, button titles are custom)\n* SelectDialog (modal View to ask a user to select an item from the list - list can be ListBox or RadioGroup)\n* SelectEditDialog (modal View to ask a user to enter a value)\n* BarChart (Horizontal bar chart without scroll)\n* SparkChart (Show tabular data as a bar graph)\n* GridView (Table to show structured data - only virtual and readonly mode with scroll support)\n* [FilePicker](/docs/fselect.md)\n* LoginDialog - a simple authorization dialog with two fields: Username and Password\n* 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\n\n## Screenshots\nThe main demo (theme changing and radio group control)\n\n\u003cimg src=\"./demos/clui_demo_main.gif\" alt=\"Main Demo\"\u003e\n\nThe screencast of demo:\n\n\u003cimg src=\"./demos/demo.gif\" alt=\"Library Demo\"\u003e\n\nThe library is in the very beginning but it can be used to create working utilities: below is the example of my Dilbert comix downloader:\n\n\u003cimg src=\"./demos/dilbert_demo.gif\" alt=\"Dilbert Downloader\"\u003e\n\n## License\n\nCLUI is dual-licensed under MIT OR BSD-2-Clause\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvladimirmarkelov%2Fclui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvladimirmarkelov%2Fclui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvladimirmarkelov%2Fclui/lists"}