Initialize the NebulaOS monorepo layout with top-level documentation, ignore rules, placeholder service/package directories, compositor docs plus a baseline Sway config, and session startup/desktop entry files. Add the first desktop shell prototype under `shells/desktop/ui` using React + Vite, including themed surface components (desktop, top bar, launcher, preview), mock Nebula APIs and shell bridge state wiring, reusable UI controls/icons, and supporting styles/config needed for local development.
776 B
776 B
Nebula Desktop UI
React UI for Nebula Desktop shell chrome. It does not host application or game windows. Those render as Wayland / XWayland surfaces. The native host in shells/desktop/native will load this UI in WebKitGTK.
Surfaces
The same codebase can render each Wayland layer on its own:
| URL | Renders |
|---|---|
/?surface=preview (default) |
Combined browser mockup |
/?surface=desktop |
Background layer only |
/?surface=topbar |
Top bar only |
/?surface=launcher |
Launcher only |
The native host chooses the origin. Surface selection is a relative query parameter, not a hardcoded port.
Develop
npm install
npm run dev
npm run lint
npm run build
Oxlint is the linter for this project.