Skip to content

Kiln 2.2.0

Latest

Choose a tag to compare

@AxDSan AxDSan released this 18 Sep 04:28

Kiln 2.2.0 — forms have themes, Classic included; every guide page is Kiln 2.

A program that built under 2.1 still builds and still behaves.

Themes

A form names the palette it is drawn from, and every control follows it:

public partial form MainWindow
{
    Theme = "Classic";          // Light, Dark, HighContrast, Classic, System
    Button save { Text = "Save"; }
}
  • Five built in. Light is what 2.1 drew. Dark swaps the surfaces and the text. HighContrast is black on white with heavier outlines. Classic is Windows 98 — a grey face, a two-pixel bevel that inverts while a button is held, square corners, navy selection. System follows the desktop's own light/dark setting.
  • Switching while it runs. Ui.SetTheme("Dark") repaints every control without recreating one: a value being typed, a selected row, a scroll position and a wired handler all survive. Ui.Theme() answers what is in force.
  • A theme of your own. themes/<name>.ktheme sets the tokens it cares about over a named base, and is carried inside the built binary, so a program still ships as one file:
{ "base": "Dark", "name": "Ocean", "ground": "#0b2942", "accent": "#3fc1ff", "radius": 10 }
  • KILN_UI_THEME=Dark ./app overrides whatever the form says.
  • Studio's canvas previews it, project themes included, so the designer shows what the program will draw.

Fixed

  • A kit's constants reached Kiln 2 with their spelling changed — MB_OK arrived as MbOk, MEMORY_BASIC_INFORMATION as MEMORYBASICINFORMATION. A name written the way C writes one now keeps it, in a kit's declarations and in kiln migrate. A program written against the old spelling needs the API's own names instead.

Documentation

  • Every guide page is Kiln 2: components, networking, databases, data files, memory, build targets, kits, interop and the win kit. Their samples are compiled by check-docs.
  • The win kit's six examples and the loader-hook example now exist in Kiln 2, beside their 1.x originals.
  • CONTRIBUTING.md and SECURITY.md at the root, and CI that runs the test suite, the generated reference, check-docs and check-release on every push.
  • Newly listed limitations: an event handler's parameters are not checked against the event, and a method C calls back is cdecl, so a 32-bit Windows callback is not yet expressible.

Checksums are beside each archive.