Files
Mateusz Gruszczyński fff8521a17
RustBox CI / rustbox (push) Waiting to run
v0.0.2
2026-10-29 19:28:47 +01:00

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.