# Apps & appearance

Default apps, home screen, themes and accents, Face Unlock, languages and your own wording.

## Choose which apps come installed

App defaults live in `config/apps.lua`. Players on Wolfden Phone and Wolfden Phone Pro install more apps through Nova Store.

| Installed on new Wolfden Phone / Wolfden Phone Pro | Downloaded from Nova Store |
| --- | --- |
| Phone, Messages, Contacts, Settings, SIM Manager, Camera, Gallery, Services, Maps, Mail, Calendar, Notes, Clock, Calculator, Weather, Music, News, Assist, Nova Store and Locate | Nova Wallet, Echo, Snapgram, Ember, Clips, Marketplace, Business, City, Routers, Radio, Garage, Homes, Arcade, Bites, Rides and Racing |

Settings, Phone, Messages, SIM Manager and Nova Store are system apps and cannot be removed. Contacts is a tab of the Phone app, next to Calls and Keypad: its icon opens Phone on the Contacts tab, and removing the icon keeps the tab. Wolfden Phone Secure has a fixed set of eight apps and no Nova Store; see [Phones & inventory](#/docs/wd_phone/devices).

Two apps work differently:

- **Shade** is never in Nova Store. It comes installed on Wolfden Phone Secure, and other phones install it from a Shade SD card. See [Shade](#/docs/wd_phone/shade).
- **Racing** only shows for players carrying a Racing USB. Set `requireItemForApp = false` in `config/racing.lua` to make it an ordinary Nova Store app. See [Racing](#/docs/wd_phone/racing).

The optional Browser is a separate resource; players download it from Nova Store once it is installed.

To preinstall a downloadable app, remove its `preinstalled = false` field (or change it to `true`) in `Config.Apps`. Keep the rest of its entry intact. You can also do this from [config/local](#/docs/wd_phone/configuration?section=keep-your-changes-in-configlocal):

```lua
Config.Apps.bank.preinstalled = true
```

Changing defaults does not replace apps on every existing phone. To reset one test phone, an administrator can run:

```text
phoneadmin resetapps <deviceId>
```

> This resets that phone's installed apps, permissions, notification channels and home layout. Data in the built-in apps is kept, but downloadable apps must be installed again, and data saved by custom (SDK) apps on that phone is deleted. This is not a routine update step.

Uninstalling an app hides it and stops its notifications; its data stays on the server. Raising an app's `version` in `config/apps.lua` offers players an update in Nova Store. Downloads use mobile data unless the phone is on Wi-Fi.

## Default home screen

`Config.DefaultLayout` in `config/apps.lua` defines the initial dock and home page. Use app IDs from `Config.Apps`, such as `phone`, `messages`, `camera` and `simManager`. List only preinstalled apps; downloaded apps are placed when they are installed. Preinstalled apps you leave out are still placed on the home screen.

Players can then arrange their own screen:

- Long-press an app for its menu, or empty space to enter edit mode.
- Drag an app into the dock or onto another app to create a folder.
- Hold an app at the screen edge to move it to another page.
- Add, resize or remove widgets through the widget gallery: Clock, Date, Device status, Calendar, Weather, Alarms and Notifications.
- Swipe past the last page for the **App Library**, which lists every installed app by category, with search. **Remove from Home Screen** keeps an app in the library.

Each page is a fixed grid of four columns and six rows. Items that do not fit move to the next page.

## Themes, accents and wallpapers

Edit `config/themes.lua` for themes, accent colours and wallpapers. Model defaults and device colours are in `config/devices.lua`.

Players choose light, dark or system themes and an **accent colour** for buttons, switches and highlights, during setup or in Settings → Display & Brightness. The default accent, **Match Phone**, follows the phone's finish; see [Accent colours](#/docs/wd_phone/devices?section=accent-colours). The eleven accents are in `Config.AccentColors`.

Players can use their own photos as wallpapers once a [media host](#/docs/wd_phone/media) is set up, picked from Gallery or taken with the camera, with blur and dim. In Settings → Display & Brightness they also choose the lock screen's clock font and colour, and whether it shows the weather, the next calendar event and the next alarm.

## Lock screen and Face Unlock

The lock screen shows notifications, a Now Playing card, the flashlight button and a camera button. The camera button, and the Camera control in Control Center, open the Camera without unlocking the phone; **Esc** goes back to the lock screen. On Wolfden Phone Secure that button opens Phone instead, after the PIN.

Auto-Lock (Settings → Security) locks the phone after it goes untouched and after it is put away. Moving the mouse over the phone, or clicking and typing in an app such as the Browser, counts as using it, and it never locks during a call, the camera, a playing video, Clips Live or a Rides trip.

**Face Unlock.** On Wolfden Phone and Wolfden Phone Pro, a phone with a PIN can enrol the face of the character holding it, plus one alternate appearance, and then unlocks for them without the PIN. Players can also hold a locked phone up to someone else's face. Wolfden Phone Secure has no Face Unlock. [PIN and Face Unlock](#/docs/wd_phone/device-operations?section=pin-and-face-unlock) covers how it works and its settings in `Config.FaceId` in `config/face_id.lua`.

## Control Center and buttons

Swipe down from the top-left for the notification centre and from the top-right for **Control Center**: Wi-Fi, mobile data, airplane mode, Bluetooth, Do Not Disturb, brightness, volume and Now Playing, followed by shortcuts the player chooses in Settings → Control Center, such as the flashlight, Low Power Mode, a timer or the camera. With **Access on Lock Screen** turned on, a locked phone's Control Center keeps brightness, volume, Focus, Silent, the flashlight, the timer and the camera.

The phone's side buttons work too: volume up and down change the volume or silence a ringing call (while music plays on [Bluetooth speakers](#/docs/wd_phone/music?section=bluetooth-speakers), they and the Control Center slider change the speakers' volume instead), and the action button switches Silent Mode on and off. Pressing the side button locks the phone, and holding it shows **slide to power off**. A phone that is off does not ring and shows offline in Locate. It stays off until the player holds the side button again. Admins can turn a phone on or off with `phoneadmin power`; see [Admin tools](#/docs/wd_phone/admin).

## Flashlight

The flashlight shines where the player aims, stays on while the phone is closed, and other players see it. Tune the beam in `config/flashlight.lua`. For testing, `debugCommand = true` adds a `/phoneflash` command that toggles it; leave it off on a live server, since every player can use it.

## Languages and wording

Each phone picks its own language in Settings → General → Language. Twenty languages are included: English, Spanish, French, Dutch, Brazilian Portuguese, German, Polish, Italian, Turkish, Bosnian, Czech, Danish, Hungarian, Norwegian, European Portuguese, Romanian, Slovenian, Swedish, Russian and Ukrainian.

| Setting | File | What it does |
| --- | --- | --- |
| `Config.Languages` | `platform.lua` | The languages players can choose. Remove an entry to stop offering it |
| `Config.Locale` | `shared.lua` | The language a new phone starts in, such as `'de'` |

The phone's language covers the phone screen only. Text the server writes uses one language for the whole server: ox_lib's language setting (`setr ox:locale "de"` in `server.cfg`), not the phone's. That includes prompts, progress bars and menus outside the phone, and the notifications the server sends to phones, such as race results or "New app available". Echo, Snapgram and Ember notifications are in English whatever the language.

**Change the wording.** All text is plain JSON that you can edit without rebuilding anything:

| Text | Shipped files | Your changes |
| --- | --- | --- |
| The phone screen | `web/dist/locales/<code>.json` | `web/dist/locales/overrides/<code>.json` |
| Notifications, prompts and menus | `locales/<code>.json` | `locales/overrides/<code>.json` |

Put only the keys you change in the matching overrides file, nested the same way as the language file. For example, to rename the phone screen's Cancel button in English, create `web/dist/locales/overrides/en.json`:

```json web/dist/locales/overrides/en.json
{
  "general": {
    "cancel": "Never mind"
  }
}
```

Your keys win and everything else keeps the shipped text. Restart the resource to apply them. An update replaces the shipped language files but not your overrides: **back up both `overrides/` folders before every update**. A file that is not valid JSON is skipped with a warning.

**Add a language.** Add an entry to `Config.Languages`, such as `{ code = 'fi', label = 'Suomi' }`. Copy `web/dist/locales/en.json` to `web/dist/locales/fi.json` and `locales/en.json` to `locales/fi.json`, translate both and restart. A code is two lowercase letters, optionally followed by `-` and two more, such as `pt-br`.

Any text a language file lacks shows in English. The boot self-check warns when a language is missing a file.

**Accessibility.** Settings also includes four text sizes, bold text, increased contrast and reduced transparency or motion.

## Notifications and ringtones

Swipe down from the top-left for the notification centre. It keeps each phone's notifications for 14 days, up to 100. Players can mark them read and clear them one by one. Banners stack up to three, and tapping one opens the right screen. App icons show unread badges.

**Settings → Notifications** has the settings for the whole phone:

- **Show Previews:** Show All, Title Only, Hide Content or Hide All, for the lock screen and banners. Each model sets its starting mode with `defaultPreviews` in `config/devices.lua`; Wolfden Phone Secure starts on Hide Content.
- **Do Not Disturb**, also in Control Center, hides banners and silences sounds. Notifications still go to the notification centre.
- **Clear All Notifications.**

Under **Settings → Apps → select an app**, players turn each kind of notification in that app on or off, with separate switches for banners, sounds and the lock screen.

A player carrying more than one phone is still told when a phone that is not open gets a notification: a game notification names that phone. It leaves out the text when lock-screen previews are off for that kind of notification.

Settings → Sounds has more than a dozen built-in ringtones. A player can also use a song from their Music library, or any audio link, as their ringtone. Players nearby hear the phone ring unless it is on Silent or Do Not Disturb.
