The desktop

It is TempleOS, and it is also a desktop.

Kosmos Temple Desktop 3 draws everything itself in logical units, so the same code runs at 1x and 2x.

What it does

Five styles

macOS, Windows 11, Kosmica glass and two more, each light or dark. Style switches crossfade.

A translucent dock

Icons magnify under the pointer. The pill blurs whatever sits behind it.

Window Style Editor

Chrome kind, geometry, title bar gradient, buttons, shadow and motion, with nine colour schemes. Export and import a one-line theme.

Icon Style Editor

Shape, fill, bevel, gloss, glow and grain for every app icon, with eight presets.

Boot splash

A ring with a dot and a thin bar, then a 600 ms crossfade. The TempleOS terminal never shows.

Fast

Dragging a large window at 2880x1800 takes about 9.5 ms a frame. The Monitor app shows the numbers.

How we draw.

The original has no compositor. Ours has one, and it is ours.

Still the original way

Straight to the screen

  • HolyC at ring 0, with no system-call boundary.
  • The desktop finds the video card's framebuffer and writes to it itself.
  • One loop draws and polls the mouse and keyboard. There is no message pump and no window classes.
  • TempleOS stays underneath as the runtime.

Added on top

Our own compositor

  • A back buffer, and a list of dirty rectangles that plays the part of an invalidate call.
  • Alpha blending, shadows, a translucent menubar and a blurred dock backdrop, all written in HolyC.
  • A crossfade between styles, and one set of drawing code for 1x and 2x.
  • On the native build, a final upload to a Metal texture.

So it follows the spirit of the original, not the letter: we replaced the middleman with code we own, at the same privilege. How TempleOS draws its own windows internally is not something we have verified. The full note is in the docs.

Try it without the compositing: the Original style

The desktop in the Original style: flat, square, blue title bars on grey

A theme with no shadows, blur or translucency, in the 16 VGA colours. On the native build a full redraw takes about 3.0 ms instead of 6.7, and dragging a large window about 0.9 ms instead of 1.4. One run on one Mac.

Boot it and look around.

Build the image, run it in QEMU, and the desktop is there in a few seconds.