# Themes Using themes, the look and feel of Pico Launcher can be customized. Themes are placed in subfolders of the `/_pico/themes` folder. For example `/_pico/themes/my_theme`. ## JSON file Each theme has a `theme.json` file with information about the theme. - **type** - Type of theme. Currently `material` and `custom` are supported. See below for information about each type. - **name** - The name of the theme. - **description** - Description of the theme. - **author** - Author of the theme. - **primaryColor** - Material Design 3 primary color to use. `r`, `g` and `b` are provided in range 0-255. - **darkTheme** - When `true`, a dark Material Design 3 palette will be used. ### Example ```json { "type": "material", "name": "Theme name", "description": "Theme description here.", "author": "Author Name", "primaryColor": { "r": 149, "g": 143, "b": 237 }, "darkTheme": true } ``` ## Material type ![Horizontal display mode with custom theme](images/Horizontal.png) The `material` type theme is a pure Material Design 3 theme. It will be fully themed based on the `primaryColor` and `darkTheme` settings from the `theme.json`. In coverflow mode, this theme type uses a Material Design 3 style carousel. ## Custom type ![Horizontal display mode with custom theme](images/HorizontalCustom.png) The `custom` type theme is much more customizable, compared to the `material` type theme. Note that the `primaryColor` and `darkTheme` settings from the `theme.json` are still used to color some parts of the UI. The following additional files are needed: | Files | Size | Format | Description | |--------------------------------------------------------------|----------------------|--------------------------|----------------------------------------------------------------| | bannerListCell.bin
bannerListCellPltt.bin | 256x49 (209x49 used) | A3I5
32 color palette | Unselected item background for banner list mode. | | bannerListCellSelected.bin
bannerListCellSelectedPltt.bin | 256x49 (209x49 used) | A3I5
32 color palette | Selected item background for banner list mode. | | bottombg.bin | 256x192 | 15 bpp bitmap | Bottom screen background. | | gridcell.bin
gridcellPltt.bin | 64x48 (48x48 used) | A3I5
32 color palette | Unselected item background for grid modes. | | gridcellSelected.bin
gridcellPlttSelected.bin | 64x48 (48x48 used) | A3I5
32 color palette | Selected item background for grid modes. | | scrim.bin
scrimPltt.bin | 8x42 | A5I3
8 color palette | Background for the toolbar. Intended to be a translucent fade. | | topbg.bin | 256x192 | 15 bpp bitmap | Top screen background. | These files can be created, for example, using [NitroPaint](https://github.com/Garhoogin/NitroPaint). The top screen background should include a box in which the banner text and icon of the selected item will be shown. ## Background music All themes support background music by placing DSP-ADPCM encoded `.bcstm` files in a `bgm` folder inside the theme folder. Looping is supported. When multiple `.bcstm` files are provided, the background music will be selected at random each time Pico Launcher is started.