1.3 KiB
RustBox UI
RustBox owns its browser interface under src/web/.
Design direction:
- mail-first three-pane layout: folders, message list, message reader;
- compact typography and spacing, small radii, flat surfaces and restrained color use;
- dark, light and system themes;
- compact/comfortable density, preview-pane position and UI scale preferences;
- a single embedded SVG icon sprite for interface actions;
- no Unicode pseudo-icons; the native RustBox style stays flat while compatibility skins may reproduce their source skin treatment;
- HTML compose formatting, threaded reading, folder operations and ManageSieve filters.
The supplied RustProxy source was used as a reference for disciplined asset organization, modular CSS, compact typography and Cargo-driven UI assembly. RustBox does not depend on RustProxy at runtime and retains its own mail-oriented layout and components.
Build
build.rs reads both src/web/css/manifest.txt and src/web/js/manifest.txt, concatenates each module set in declared order and writes generated CSS/JavaScript bundles to Cargo OUT_DIR. src/ui.rs embeds those generated bundles together with index.html and icons.svg into the RustBox executable. The source of truth for browser JavaScript is src/web/js/; src/web/app.js does not exist.
No Node.js, Bun, TypeScript, React or Next.js build step exists.