Icod.DCurses 0.1.0-Alpha-13

This is a prerelease version of Icod.DCurses.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Icod.DCurses --version 0.1.0-Alpha-13
                    
NuGet\Install-Package Icod.DCurses -Version 0.1.0-Alpha-13
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Icod.DCurses" Version="0.1.0-Alpha-13" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Icod.DCurses" Version="0.1.0-Alpha-13" />
                    
Directory.Packages.props
<PackageReference Include="Icod.DCurses" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Icod.DCurses --version 0.1.0-Alpha-13
                    
#r "nuget: Icod.DCurses, 0.1.0-Alpha-13"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Icod.DCurses@0.1.0-Alpha-13
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Icod.DCurses&version=0.1.0-Alpha-13&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Icod.DCurses&version=0.1.0-Alpha-13&prerelease
                    
Install as a Cake Tool

Icod.DCurses

Icod.DCurses is a managed, cross-platform curses-like terminal UI library for .NET.

The library sits above Icod.TermInfo and Icod.Terminal. Icod.TermInfo remains the immutable terminal-capability authority; Icod.Terminal owns the live terminal session, host mode, dimensions, lifecycle, input decoding, and reversible presentation leases. Icod.DCurses owns curses-shaped events, virtual screens and windows, terminal cells and styles, rendition policy, and refresh/damage synchronization.

Status

The project is under active development toward version 0.1.0.

0.1.0-Alpha-13 follows the Icod.Terminal T10 integration checkpoint. The active DCurses build consumes Icod.Terminal 0.1.0-alpha.11 for live-terminal ownership and delegates relative event-timeout and Escape-sequence timing to the Icod.Timing 1.0.0 substrate owned by Terminal. DCurses does not add a direct Icod.Timing dependency because the active curses layer owns no independent timer or scheduler. The former DCurses backend, native mode, lifecycle-source, and input-decoder files remain excluded from compilation pending physical cleanup.

The first release continues to be driven by the requirements of top, slabtop, and watch.

See Icod.DCurses-Development-Roadmap.md for the broader development contract through 1.0.0, and docs/Icod-Terminal-T10-Integration.md for the substrate reset implemented by Alpha-12.

Architecture

top / slabtop / watch / other TUIs
                 |
            Icod.DCurses
     windows / cells / refresh
       rendition / curses events
                 |
            Icod.Terminal
 session / input / lifecycle / dimensions
       presentation-state leases
                 |
            Icod.TermInfo
      terminal capability model
                 |
            terminal / tty

Icod.DCurses does not hard-code one terminal family. Terminal-specific output continues to be selected through Icod.TermInfo, while live session ownership and reversible terminal state are centralized in Icod.Terminal.

Target

The initial implementation targets:

  • .NET 10
  • C# 13
  • Windows
  • Linux
  • macOS

The active runtime dependencies are:

  • Icod.TermInfo 1.0.0
  • Icod.Terminal 0.1.0-alpha.11

Build

From the repository root:

build.cmd

or:

./build.sh

Both scripts perform clean, restore, build, test, and pack operations by default and also accept one of those phase names individually.

License

Icod.DCurses is licensed under the GNU Lesser General Public License, version 3 or later.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0 1,401 8/29/2026
0.1.0-Alpha-14 532 8/25/2026
0.1.0-Alpha-13 48 8/25/2026
0.1.0-Alpha-11 83 8/24/2026
0.1.0-Alpha-10 78 8/24/2026

0.1.0-Alpha-13 consumes Icod.Terminal 0.1.0-alpha.11, delegating live relative timeout and Escape-sequence timing to Icod.Timing 1.0.0 through the Terminal layer.