klooie 2.0.0
See the version list below for details.
dotnet add package klooie --version 2.0.0
NuGet\Install-Package klooie -Version 2.0.0
<PackageReference Include="klooie" Version="2.0.0" />
paket add klooie --version 2.0.0
#r "nuget: klooie, 2.0.0"
// Install klooie as a Cake Addin #addin nuget:?package=klooie&version=2.0.0 // Install klooie as a Cake Tool #tool nuget:?package=klooie&version=2.0.0
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 |
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- PowerArgs (>= 4.0.2)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on klooie:
Package | Downloads |
---|---|
klooie.Windows
Audio playback support for klooie applications on Windows. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Removed explicit focus stack manipulation to fix the use case when controls would be added underneath dialogs after the dialog was added. The side affect was that those controls would be focusable while the dialog was alive, and then never focusable after the dialog was disposed. This version fixes that issue, but required a breaking change that should only affect advanced usage.