Expand description
Patina: the shared look and parts of a family of egui desktop apps,
Photograph and UnAmp first. Each app can be skinned its own way; Patina
is the frame they share and the rules they keep. See docs/design.md for
the design language and docs/adr/ for why things are the way they are.
frame: the app’s own window frame, header bar and resize edges.appearance: following the desktop’s light/dark setting.skin: skins in the suite format, shared by every app.tree: a lazily loaded sidebar folder tree.
Re-exports§
pub use egui;
Modules§
- appearance
- Follows the desktop’s light/dark preference on Linux. Moved from UnAmp (its ADR-0019; Photograph’s ADR-0021).
- frame
- The window frame every Patina app draws for itself: the window opens
without system decorations, and this draws a header bar holding the app’s
own controls, the window title and minimise/maximise/close buttons, plus a
one-pixel border and invisible resize handles along the edges. Moved from
UnAmp (its ADR-0020; Photograph’s ADR-0022), with the API in
docs/adr/0003-frame-api.md. - skin
- Skins: TOML files in the suite skin format, which any Patina app can
read. Moved from UnAmp (its ADR-0024 and ADR-0008), with the split between
Patina and the apps in
docs/adr/0004-skins-in-patina.md, and the format for skin authors indocs/skinning.md. - tree
- A sidebar folder tree: a collapsible tree under a root folder whose subfolders are listed on worker threads the first time a folder is expanded, so a slow or hung network share never blocks the UI. Moved from UnAmp (its ADR-0014).