Awesome
klooie
A framework for building GUI applications within any command line that runs .NET. Klooie provides all the things you would expect from a UX Framework.
I'm working on a free video game called cliborg that runs on the command line and highlights many features of this framework.
Binary
klooie is available at the Official NuGet Gallery.
Key Features
Category | Description |
---|---|
Containers and Layout | Easily organize controls into a usable view Easily organize controls into a usable view |
Built-in and Custom Controls | Use controls from the library or create your own |
Dialogs | Panels that appear over a view and temporarity restrict focus to the controls within the dialog |
Theming | A model for defining one or more themes for your application. |
Focus & Keyboard Input | Lets the user interact with one primary control at a time |
Forms | A structured way to accept multiple inputs from the user |
Animations | You can animate controls sizes, positions, colors, and more. Built-in easing and custom easing supported. |
Observability | Constructs that make your application responsive and dynamic. |
Getting Started
Here's a hello world console app that just shows a message on the middle of the screen and waits for the user to press escape before exiting.
The code for this sample is shown below.
using PowerArgs;
using klooie;
namespace klooie.Samples;
// Define your application
public class HelloWorld : ConsoleApp
{
protected override Task Startup() => LayoutRoot
.Add(new Label("Hello World! Press escape to exit.".ToOrange()))
.CenterBoth()
.FadeIn(2000);
}
// Entry point for your application
public static class HelloWorldProgram
{
public static void Main() => new HelloWorld().Run();
}
Advanced Features
You can have fun with klooie and build games that are fun to play within the command line.
Category | Description |
---|---|
Physics | Enables controls to move with velocity semantics and collision detection |
Sound effects (Windows only) | Play sound effects and background music |