Home screen
Three config.json fields shape the home screen experience:
| Field | Affects | Applies to |
|---|---|---|
disabledApps | Hides apps entirely (home + switcher + App Store). | All characters. |
homeOrder | Initial home-screen icon order. | New characters only. |
featuredApps | Pins apps in the App Store’s Featured strip. | All characters. |
Plus an optional escape hatch for app authors:
| Field | Purpose |
|---|---|
home.requiredApps | Apps whose launchers must remain on the home screen even if a player tries to remove them. |
Disabling built-in apps
Section titled “Disabling built-in apps”The most common reason to edit config.json: replace a built-in app with
a server-specific one. Add the built-in’s ID to disabledApps:
{ "phone": { "disabledApps": ["banking", "messages"] }}Built-in IDs:
settings, notes, memo, contacts, messages, dialer, calculator, clock,camera, gallery, bump, fun, social, glimpse, marketplace, bills, calendar,jobs, garage, mail, banking, govid, store, directory, weather, maps,properties, health, businessDisabling an app:
- Removes it from the home screen.
- Removes it from the app switcher (parked apps are evicted).
- Removes it from the App Store catalog.
- Does not delete its database tables. Re-enabling restores the data.
Initial app order
Section titled “Initial app order”homeOrder is the first-boot layout for new characters. Listed apps
come first, in the order you write them. Unlisted apps follow in
registration order.
{ "phone": { "homeOrder": ["messages", "contacts", "dialer", "camera", "gallery", "maps"] }}Existing characters with a saved layout are unaffected — homeOrder
won’t reorder anyone who’s already played. To force a layout reset, the
player can long-press → Reset home screen in edit mode.
Featuring apps
Section titled “Featuring apps”featuredApps pins apps in the App Store’s Featured strip. Accepts both
built-in IDs and external app IDs registered via RegisterExternalApp.
{ "phone": { "featuredApps": ["my-gov-app", "marketplace"] }}External apps can also flag themselves as featured at registration time;
featuredApps always wins when set.
Required apps (advanced)
Section titled “Required apps (advanced)”home.requiredApps makes specific app launchers un-removable from the
home screen. The default policy already protects the core OS apps
(settings, dialer, camera, Gov ID, and App Store); add to this list when
an external app is mission-critical to your server.
{ "phone": { "home": { "requiredApps": ["my-gov-app"] } }}This does not pin the icon’s position — only that some launcher pointing at this app must remain on a home page.
Widgets
Section titled “Widgets”Widgets (2x2 and 4x2 home-screen tiles) live alongside app icons on the
same grid. They’re not configured in config.json; players add them
through edit mode → + → widget picker. App authors register widgets
through registerApp({ widgets: [...] }) — see
Extension → External apps.