This repository is the starting point for a rio-based desktop shell on 9front.
Right now it ships:
- lib9deui: a small UI library (glass cards, primitives, basic widgets)
- ui9demo: a demo app proving the library links + draws
Next milestones (planned):
- lib9descene (in-window layer stack)
- lib9dewm (rio window manipulation helpers)
- 9bar / 9launch / 9notify + a 9de start script
From the repo root:
mk
./cmd/ui-demo/ui9demo
Quit with Q.
./bin/9de-start.rc
- Add include path:
-I/path/to/9de/include - Link:
/path/to/9de/lib/lib9deui.a -ldraw -levent
Example include:
#include "9deui/9deui.h"Ui9 ui;
ui9init(&ui, display, font);
ui9setdst(&ui, screen);
draw(screen, screen->r, ui9img(&ui, Ui9CBg), nil, ZP);
ui9_card(&ui, Rect(20,20,320,120), 18);
ui9_shadowstring(&ui, Pt(40,50), "Hello 9DE");
flushimage(display, 1);When the API stabilizes you can install headers into /sys/include/9deui/
and the library into /sys/lib/. For now, keep it as a project-local SDK.
9de-session: session/config generator (cmd/9de-session)9de-panel: top bar (cmd/9de-panel)
chmod +x ./bin/9de-start.rc
./bin/9de-start.rc
Open docs/index.html in a browser.
See examples/ for patterns and layouts.
Build + run:
cd $home/src/9de
mk
9de control
- Ui9Flex (minimal layout): include/9deui/layout.h
- Icons lookup: include/9deui/icon.h
- Focus/capture helpers + ABI stamp: include/9deui/frame.h