A set of utilities to make designing Textual User Interfaces a little more simple. https://code.foxhollow.cc/terminal-ui/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Steve Cross d1a95cfc65
Added project links to readme files
2 months ago
.vscode Made numerous improvements across the library 3 months ago
Examples Started adding example projects 3 months ago
TestCLI Changed namespace to FoxHollow.TerminalUI 3 months ago
docs Added project links to readme files 2 months ago
scripts add build scripts 3 months ago
src Preparing for 2.0.0-beta6 release 3 months ago
.gitignore update .gitignore 3 months ago
.woodpecker.yml Attempting to fix issue with generating release zip 2 months ago
Directory.Build.props Attempting to fix issue with generating release zip 2 months ago
LICENSE Renamed LICENSE file 3 months ago
README.md Added project links to readme files 2 months ago
RELEASE_NOTES.md Attempting to fix issue with generating release zip 2 months ago
TerminalUI.sln Added TestCLI and TerminalPointMove 3 months ago

README.md

TerminalUI - Simple terminal widgets for C#

build badge

Overview

This project is meant to provide a very simple Terminal "UI" for dotnet projects. There are no movable windows, no mouse support, etc. It really is meant to provide some useful "widgets" or "elements" that can be created and easily updated in-place. A great example of this is a ProgressBar. Once created, you have a handle to the ProgressBar and can easily updated. For example:

// This will create a progress bar at the current cursor index (x and y) that 
// consumes the remaining terminal width. It will then set the percentage to 42%.
ProgressBar progressBar = new ProgressBar();
progressBar.UpdateProgress(0.42);

Demo

Here you can see a screen grab of a few of these elements in use:

demo

License

TerminalUI is licensed under the GNU Lesser General Public License (LGPL) v2.1 or later

Copyright © 2021 Steve Cross

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this program; if not, see http://www.gnu.org/licenses/.