Ferese theme
The shared native UI theme for the shell, settings, lock screen, authentication prompt and screen-sharing/recording chooser.
Paletteresolves KDL colors and corners and builds the native toolkit theme.PRESETSdefines the six built-in color schemes.fontandtextshare bounded font-name storage and explicit font selection.controlssupplies surfaces, navigation, font-aware text buttons and input styles.menussupplies headings, rows, sections, separators, switches and slider styles.calendarsupplies date/time labels, stacked clock digits and calendar grids. Callers supply the date and navigation controls.iconsowns the shared SVG assets, outline icons, sizing and semantic tinting.- Contrast helpers keep filled controls readable in every interaction state.
material::ModalMaterialattaches a dialog to the compositor's shell material. Keep the attachment alive with its window and make the client background transparent after attachment succeeds. Other compositors retain the client fill.
Applications own layout, data, actions and animation timing. Pass their current palette and animation progress into the shared components; do not build another native theme or copy a common control style into an application.
let palette = ferese_theme::Palette::from_document(Some(&document));
let native_theme = palette.native_theme();
let input_style = ferese_theme::controls::settings_input(palette);
let font = ferese_theme::font(Some("Inter"));
let label = ferese_theme::text("Appearance", font);
The compositor owns backdrop blur and material rendering. This crate does not provide a client-side imitation of those effects.