English
About this handbook

This handbook belongs to QuartzControl version 1.1.0 and explains every one of its screens; every screen links to its page here.

How to write notes so they make good pages is in the Example handbook.

Graphansicht

Building from source

To compile QuartzControl yourself, or to work on it, you need the source from github.com/boxi-os/QuartzControl and a Node on your machine — the bundled one only applies to finished builds.

npm install
npm run dev          # development mode
npm run build        # production build into out/
npm run dist:mac     # or dist:linux, dist:flatpak

What dist:* produces lands in release/. For macOS the same holds as for the finished packages: a build of your own is only ad-hoc signed too, and Gatekeeper wants the same approval — see Obtaining and updating.

dist:flatpak sits beside dist:linux rather than inside it on purpose: the target needs flatpak and flatpak-builder on the build machine, and dist:linux should not fail on a machine without them.

The checks

There is no test suite in the usual sense. Instead each check answers one question that neither the typecheck nor the build answers:

npm run typecheckboth tsconfigs
npm run smokelaunches the build and visits every screen at two window sizes
npm run check:i18nevery t('…') against both locale files, in both directions
npm run check:semverthe version comparisons behind the update notice
npm run check:plugin-namesthe name derivation against Quartz’ own function
npm run check:handbookthis handbook’s quotations against what QuartzControl actually says
npm run check:runtimethe bundled runtime against a real project
npm run check:tokenswhether a CSS variable actually moves anything in a running page

Why each one exists is written in the project’s CLAUDE.md, next to the bug that forced it.