Environment that combines canvas, look, and screen
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Bryan 37fe5cbdb9 desktop: regress images retaken for the sans-12 look
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-25 10:20:16 +01:00
examples desktop: regress images retaken for the sans-12 look 2026-10-25 10:20:16 +01:00
scripts shutdown: a window asking Switch off, Restart or Cancel, which asks the supervisor 2026-10-04 19:40:11 +02:00
tools shutdown: a window asking Switch off, Restart or Cancel, which asks the supervisor 2026-10-04 19:40:11 +02:00
.gitignore desktop: the theme chooser 2026-10-03 15:02:18 +02:00
README shutdown: a window asking Switch off, Restart or Cancel, which asks the supervisor 2026-10-04 19:40:11 +02:00
VERSION desktop: the theme chooser 2026-10-03 15:02:18 +02:00

desktop: the programs that make the screen a desktop rather than a
window server -- the pieces a person reaches for that belong to no one
application -- in a repository of their own, built against the
libraries beside it (../canvas, ../look, ../toolkit) the way
../terminal is.

  tools/themes.talc     the looks there are, listed, and one picked for
                        the whole screen: the frames and every program's
                        contents change at once, this one's first
  tools/shutdown.talc   the way out: Switch off, Restart or Cancel, asking
                        the supervisor (../services) to stop everything
                        and do that
  examples/drive.talc   what the regress plays at the chooser: a look
                        picked, then another past the lines shown
  examples/shutdown-drive.talc   ...and at the shutdown window: a picture,
                        then escape
  examples/*.ppm        the pictures expected at each step
  scripts/build.sh      builds tools/ into bin/
  scripts/regress.sh    runs the chooser under ../screen with no card, with
                        ../look/examples as the looks, and compares

Build:

  scripts/build.sh
  scripts/regress.sh

which need the installed toolchain (compiler on PATH), ../canvas built
(its fonts), ../look, ../toolkit, and for the regress ../screen built.
../vm takes the programs from bin/ here.

THEMES is started from the launcher (type its name) or a binding, and
lists "built-in" and the *.theme files in the directory the screen was
given with -themes (SCREEN_THEMES), or the one given with -themes here,
or the directory of the theme the screen runs with. Return or a press
on a line asks the screen for that look -- the (theme "path") request
of the protocol -- and the screen takes it for every frame and tells
every program, which read the theme again and draw themselves again;
the chooser's own window is the first to show it. The current look
starts chosen; escape or the close button ends it. It is written as a
form (toolkit-build): a list and a button in a column, and
nothing else -- the list is found by name, filled, and does the rest.

SHUTDOWN is started from the launcher (type its name) and asks what the
machine should do once everything is stopped: Switch off asks the
supervisor (shutdown), Restart asks (reboot), and either ends the window
once the supervisor has said (ok); the machine follows. Cancel, escape
or the close button ends it with nothing done. It finds the supervisor
by SERVICES in its environment, which the supervisor gave the screen
and the screen gave it; with none it says so on its error stream.

NOT HERE YET: the launcher, which is ../toolkit's sample program for
now and belongs here eventually, with whatever else a desktop grows --
a panel, a clock.