Repository navigation
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.
Lightis what 2.1 drew.Darkswaps the surfaces and the text.HighContrastis black on white with heavier outlines.Classicis Windows 98 — a grey face, a two-pixel bevel that inverts while a button is held, square corners, navy selection.Systemfollows 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>.kthemesets 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 ./appoverrides 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_OKarrived asMbOk,MEMORY_BASIC_INFORMATIONasMEMORYBASICINFORMATION. A name written the way C writes one now keeps it, in a kit's declarations and inkiln 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
winkit. Their samples are compiled bycheck-docs. - The
winkit's six examples and the loader-hook example now exist in Kiln 2, beside their 1.x originals. CONTRIBUTING.mdandSECURITY.mdat the root, and CI that runs the test suite, the generated reference,check-docsandcheck-releaseon 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.