Substratal Apps Substratal Apps Hub specs
GitHub

Help Screens Settings

Settings — Global SET-01

Preferences that apply to every app.

Who can use itSelf
Where it is/settings · link: https://hub.substratalapps.com/settings or substratal://settings
Available onWeb (PWA), iOS / iPadOS, Android, Windows, Linux (GNOME), macOS
PhaseMVP

Appearance

Choose Light, Dark or Match system, then a light theme and a dark theme. The change applies immediately. The defaults are Moss Paper and Forest Floor; all ten are described in Appearance and themes. If the system's high-contrast mode is on, it takes precedence over the theme.

What you can do here

  • Change any row — Optimistic; revert + toast on error.
  • Choose a light or dark theme — Apply instantly, cache locally, then sync; 409 → refetch and re-apply; 422 → revert + toast "Couldn't save your theme. Try again."
  • Appearance and themes — Light, dark or system, and the five light and five dark themes.
  • Using the Hub on macOS — Install the Mac app, sign in, get around with the keyboard, use several windows, and point it at a local API.
  • Substratal on Windows — Install the Windows app, sign in, find your way around, keyboard shortcuts, notifications, and what's in each release.
  • Substratal on Linux — Install and run the Hub on GNOME and other Linux desktops, how it signs in, how notifications arrive, and Linux-only tips.
  • Set up the Windows app as an administrator — From a fresh install to a secured, signed-in admin workstation, with the shortcuts that make daily work fast.

On your platform

AppStatusHow it's built
Web (PWA)—Grouped settings rows in main pane
iOS / iPadOS—Inset-grouped List/Form
AndroidAvailable in 0.1.0Grouped ListItems
Windows—Page of SettingsCards
Linux (GNOME)—AdwPreferencesPage
macOS—Detail column Form(.grouped); per-row save

Status is reported by each app's repository; — means that app doesn't report it yet.

For developers: API calls

MethodPathWhat it does
GET/users/{id}/settingsFetch global Settings (self, or platform users.list)
PATCH/users/{id}/settingsUpdate global Settings (self or users.manage)
GET/users/{id}/apps/{appId}/settingsFetch fully resolved per-app settings (self, the app's own key, or platform users.list)
PATCH/users/{id}/apps/{appId}/settingsWrite per-app overrides (validated against settings_schema; null clears)

Every call sends Substratal-Version: 1. Paths are at the host root, with no /v1.

Full screen specification

Last updated 2026-10-23 · Built 2026-10-25 from a9ef3be · API 1.0.0-draft.13 · Substratal-Version: 1