Environment that combines canvas, look, and screen
- Shell 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| examples | ||
| scripts | ||
| tools | ||
| .gitignore | ||
| README | ||
| VERSION | ||
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.