SchOS/projects/schde/README.md
Nexoniarz d0f7acf9eb Initial commit: Schunix as it stands before the SchOS rename
An x86-64 operating system built from xv6, now largely rewritten: SMP,
a copy-on-write root filesystem (SchFS), PCI/USB/virtio drivers, a TTF
rasteriser, and a Linux-numbered syscall ABI.

No history before this point -- the tree was never under version control.
This commit exists so the rename that follows has something to undo to.
2026-08-09 13:47:01 +02:00

27 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SchDE — the Schunix Desktop Environment
The parts you actually look at: a panel, a launcher, settings, a file
manager, a terminal.
SchDE is a set of ordinary Schcom clients plus whatever shared widget code
they end up needing. Nothing in it is privileged and nothing in it is
special — if SchDE can do something that a third-party program could not, the
line has been drawn in the wrong place.
## Status
Not started. Last of the three, and deliberately so: there is no point
designing a panel before there is a compositor to put it on.
## What it will need that does not exist yet
- **Text rendering.** Everything here is text, and the console's fixed 8×16
CP437 grid is not usable for it. See phase 4 of `docs/roadmap.md` — a real
glyph cache and rasteriser, and layout as a library in `lib/` so the
terminal and the file manager are not each solving it.
- **A widget toolkit**, however small. Even a panel needs buttons, labels and
hit testing.
- **A terminal emulator.** Note the direction: the *kernel* console parses
ANSI today because it draws directly to the framebuffer. A GUI terminal is
a client that parses ANSI itself and renders it with proportional-capable
text. The two do not share code.