Home

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

CategoryDescription
Containers and LayoutEasily organize controls into a usable view Easily organize controls into a usable view
Built-in and Custom ControlsUse controls from the library or create your own
DialogsPanels that appear over a view and temporarity restrict focus to the controls within the dialog
ThemingA model for defining one or more themes for your application.
Focus & Keyboard InputLets the user interact with one primary control at a time
FormsA structured way to accept multiple inputs from the user
AnimationsYou can animate controls sizes, positions, colors, and more. Built-in easing and custom easing supported.
ObservabilityConstructs 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.

sample image

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.

CategoryDescription
PhysicsEnables controls to move with velocity semantics and collision detection
Sound effects (Windows only)Play sound effects and background music