Custom Properties
Custom properties let end users personalize your wallpaper through the Fluxlay app settings UI — sliders, color pickers, toggles, and dropdowns — without touching code.
1. Define Properties in the Manifest
Add a properties section to your fluxlay.yaml:
fluxlay.yaml
2. Read Properties in Your Wallpaper
Use the useProperties() hook to access the current values:
The hook automatically:
- Fetches the initial values (defaults merged with user customizations)
- Subscribes to real-time updates when the user changes a value
3. Test in the App
- Run
fluxlay devto start the dev server. - Open the Fluxlay desktop app settings.
- Your properties appear in the wallpaper's settings card.
- Adjust values — the wallpaper updates in real time.
Validation
The manifest is validated at build time. Common validation rules:
- schemaVersion: must declare
1. - number / range:
defaultmust be betweenminandmax.rangerenders as a slider;minandmaxare required. - color:
defaultmust be a valid hex color (#rgb,#rrggbb, or#rrggbbaa). - text: when
maxLengthis set,defaultlength must not exceed it. - select:
defaultmust match one of theoptionsvalues. - multi-select: every item in
defaultmust be inoptions;min/maxconstrain the selection count. - image / file:
acceptuses MIME patterns (e.g.image/*,application/pdf). The SDK exposes the host OS absolute path (ornullwhen the user has not picked a file). - font:
sourcesissystemand/orgoogle. Whengoogleis included, the manifest must declare anetworkentry granting access to Google Fonts.
Notes
- User customizations are saved per wallpaper slug and persist across app restarts.
- Properties with no user customization use the manifest default.
See the useProperties Reference for full API details.