The Fruit Jam OS Launcher shows all of the apps currently loaded onto the device in pages of 2x3 grids of icons.
The launcher will automatically adapt to the display resolution that is set in the settings.toml file. If no display settings are found in settings.toml it will use whatever resolution the CircuitPython core started with. For details on configuring display size and other parameters using settings.toml see: Setting Monitor Values via Environment Variables.
Navigation
You can navigate the launcher menu with a USB keyboard and/or USB mouse plugged into one of the Fruit Jam USB Host ports.
Keyboard
You can navigate the menu with a keyboard by using the arrow keys to move the focus indicator around to the choose different icons or the arrow buttons. In addition, you can use the following hotkeys:
- Press E to launch the editor app and open it the code file for the currently chosen app icon. For example, in the image above the Breakout app is chosen. If you press the E key the editor would open with the Breakout game's code.py file for viewing/editing.
- Press Enter to launch the currently chosen app, or change pages if an arrow is chosen.
- Pressing any number 1-9 will go directly to the menu page for that number, if it exists.
Mouse
With a mouse simply click on an icon to launch that app, or click on an arrow to change pages.
Customize Launcher Colors
The Fruit Jam OS launcher colors are customizable by using a launcher.conf.json file. Create this file in the top level of the CIRCUITPY drive and then set up to four custom color values inside of a "palette" key in a JSON dictionary. Here is a sample launcher config with a few extra color palettes defined for easily swapping between them.
{
"palette": {
"bg": "0x000000",
"fg": "0x00ff00",
"arrow": "0x004400",
"accent": "0x008800"
},
"matrixpalette": {
"bg": "0x000000",
"fg": "0x00ff00",
"arrow": "0x004400",
"accent": "0x008800"
},
"c64palette": {
"bg": "0x0000FF",
"fg": "0xFF0000",
"arrow": "0x00FF00",
"accent": "0xFFFF00"
}
}
Inside of the "palette" dictionary, you can change the following colors:
-
bg- Background color of the launcher -
fg- Foreground color, which is used for the text -
arrow- Color of the arrow buttons on the left and right sides -
accent- Color of the focus indicator that is shown on app titles and the arrow buttons.
The values for these settings should be strings containing a valid 6 digit hex color value i.e. "0x00ff00".
Whichever colors are in the "palette" key will take effect; any other alternative palettes like "matrixpalette" and "c64palette" are ignored. It can be convenient to keep extra unused alternatives in the file so that you can easily copy/paste the values or names of the palettes in order to change the active colors.
Favorite Apps
By default, the app icons in the launcher appear in alphabetical order by app title. The Fruit Jam OS launcher allows you to set a list of "favorites" within the launcher.conf.json file. The values in the list should be strings that match the names of the folders inside the apps/ folder on the CIRCUITPY drive.
Here is an example "favorites" configuration that sets 6 specific apps to occupy the full 2x3 grid on the first page of the launcher.
"favorites": [
"Fruit_Jam_IRC_Client",
"Larsio_Paint_Music",
"Metro_RP2350_Breakout",
"Metro_RP2350_Minesweeper",
"Metro_RP2350_Snake",
"Fruit_Jam_PyPaint"
],
Disable Mouse
The launcher.conf.json also supports a way to disable the mouse. This can be useful if you have a combination USB keyboard/mouse device plugged in and want to ensure that the keyboard is used by the launcher instead of the mouse. CircuitPython does not currently support using both at the same time on a combo device. Set the "use_mouse" key in launcher.conf.json to false in order to disable the mouse support in the launcher.
"use_mouse": false,
Page last edited August 22, 2025
Text editor powered by tinymce.