This guide provides step-by-step instructions for creating custom themes for the Innioasis Y1 music player. Choose your experience level to get started!
π¨ Beginner: Start with image replacement and basic color changes using the MelodyMuncher theme as your foundation.
π οΈ Moderate: Learn to create complete themes from scratch with full customization options.
Perfect for: Non-coders, artists, anyone wanting to start simple
The easiest way to create a custom theme is to start with the MelodyMuncher theme and replace images with your own designs. This approach lets you learn the basics without diving into complex configuration.
MyCustomTheme/)π― Start with these easy replacements:
Now Playing.png - Current track displayMusic.png - Music library iconVideos.png - Video player iconPhotos.png - Photo gallery iconSettings.png - Settings menu icondesk_bg001.png - Desktop backgroundglobal_bg001.png - Global background1.png - Selected item background2.png - Right arrow indicator3.png - Dialog option backgroundEdit the config.json file to change colors:
{
"theme_info": {
"title": "My Custom Theme",
"author": "Your Name",
"description": "A personalized theme based on MelodyMuncher"
},
"homePageConfig": {
"selectedColor": "#FF6B6B", // Change this to your favorite color
"unselectedColor": "#4ECDC4" // Change this too
}
}
π¨ Color Tips:
#FF6B6B (red) or #4ECDC4 (teal)/storage/sdcard0/Themes/config.jsonPerfect for: Those comfortable with the basics, ready for more control
Once youβre comfortable with image replacement, you can create themes from scratch with full control over every element.
π― Define your vision:
π Essential files you must create:
config.json - Theme configuration (REQUIRED)cover.png - Theme preview thumbnail (REQUIRED)π¨ Image categories:
Create a complete config.json with all sections:
{
"theme_info": {
"title": "My Custom Theme",
"author": "Your Name",
"description": "A complete custom theme"
},
"homePageConfig": {
"selectedColor": "#FF6B6B",
"unselectedColor": "#4ECDC4"
},
"settingConfig": {
"selectedColor": "#FF6B6B",
"unselectedColor": "#4ECDC4"
}
// ... more configuration sections
}
font.ttf for unique typographymask.png for overlay effects/storage/sdcard0/Themes/HoloPebble/
βββ config.json # Theme configuration file (REQUIRED)
βββ cover.png # Theme preview thumbnail (REQUIRED)
βββ font.ttf # Custom font (OPTIONAL)
βββ desk_bg001.png # Desktop wallpaper
βββ global_bg001.png # Global wallpaper
βββ mask.png # Desktop mask overlay (OPTIONAL)
β
βββ Now Playing.png # Main menu icons
βββ Music.png
βββ Videos.png
βββ Audiobooks.png
βββ Photos.png
βββ FM Radio.png
βββ Bluetooth.png
βββ Settings.png
βββ Shuffle Quick.png
βββ calculator.png
βββ calendar.png
βββ ebook.png
β
βββ 1.png # UI element images
βββ 2.png # Right arrow
βββ 3.png # Dialog option background
βββ 4.png # Dialog option selected
βββ 5.png # Dialog background
βββ 6.png # Progress bar background
βββ 7.png # Progress bar fill
βββ 8.png # Volume bar background
βββ 9.png # Volume bar fill
βββ 10.png # Battery background
βββ 11.png # Battery fill
βββ 12.png # Signal strength background
βββ 13.png # Signal strength fill
βββ 14.png # Bluetooth icon
βββ 15.png # Headphone icon
βββ 16.png # Microphone icon
βββ 17.png # Speaker icon
βββ 18.png # USB icon
β
βββ About.png # Settings icons
βββ Audio.png
βββ Bluetooth.png
βββ Display.png
βββ Language.png
βββ Power.png
βββ Storage.png
βββ System.png
βββ Time.png
βββ Update.png
βββ WiFi.png
βββ About_selected.png
βββ Audio_selected.png
βββ Bluetooth_selected.png
βββ Display_selected.png
βββ Language_selected.png
βββ Power_selected.png
βββ Storage_selected.png
βββ System_selected.png
βββ Time_selected.png
βββ Update_selected.png
βββ WiFi_selected.png
β
βββ battery_0.png # Status bar icons
βββ battery_1.png
βββ battery_2.png
βββ battery_3.png
βββ battery_4.png
βββ battery_5.png
βββ bluetooth_off.png
βββ bluetooth_on.png
βββ signal_0.png
βββ signal_1.png
βββ signal_2.png
βββ signal_3.png
βββ signal_4.png
βββ wifi_off.png
βββ wifi_on.png
config.json - Main configuration file (REQUIRED)cover.png - Theme preview image shown in theme selector (REQUIRED){
"theme_info": {
"title": "Your Theme Name",
"author": "Your Name",
"authorUrl": "https://yourwebsite.com",
"description": "Description of your theme"
},
"themeCover": "cover.png",
"desktopWallpaper": "desk_bg001.png",
"globalWallpaper": "global_bg001.png",
"desktopMask": "mask.png",
"fontFamily": "customfont.ttf",
"itemConfig": { ... },
"dialogConfig": { ... },
"menuConfig": { ... },
"homePageConfig": { ... },
"fileConfig": { ... },
"settingConfig": { ... },
"statusConfig": { ... },
"playerConfig": { ... }
}
Based on BitmapSize.smali:
| Asset Type | Width | Height | Purpose |
|---|---|---|---|
| MAIN_ICON | 166px | 166px | Main menu icons (Music, Videos, etc.) |
| SETTING_ICON | 146px | 146px | Settings menu icons |
| ITEM | 640px | 91px | List item backgrounds |
| WALLPAPER | 320px | 240px | Background wallpapers |
| SMALL_ICON | 64px | 64px | Small status icons |
All colors use standard hex format:
"#RRGGBB" - RGB format (e.g., "#FF0000" for red)"#AARRGGBB" - ARGB with alpha (e.g., "#80FF0000" for 50% transparent red)"" (empty string) to use default app valuesitemConfig)Controls appearance of list items (music lists, file browsers, etc.):
"itemConfig": {
"itemTextColor": "#ffffff",
"itemSelectedTextColor": "#ffffff",
"itemBackground": "",
"itemSelectedBackground": "1.png",
"itemRightArrow": "2.png"
}
Properties:
itemTextColor - Text color for unselected itemsitemSelectedTextColor - Text color for selected itemsitemBackground - Background image for unselected items (640Γ91px)itemSelectedBackground - Background image for selected items (640Γ91px)itemRightArrow - Right arrow indicator image (small icon)dialogConfig)Controls appearance of dialog boxes and popups:
"dialogConfig": {
"dialogOptionBackground": "3.png",
"dialogOptionTextColor": "#ffffff",
"dialogOptionSelectedBackground": "4.png",
"dialogOptionSelectedTextColor": "#ffffff",
"dialogBackgroundColor": "#000000",
"dialogTextColor": "#ffffff"
}
Properties:
dialogOptionBackground - Background for dialog optionsdialogOptionTextColor - Text color for dialog optionsdialogOptionSelectedBackground - Background for selected dialog optiondialogOptionSelectedTextColor - Text color for selected optiondialogBackgroundColor - Overall dialog background colordialogTextColor - General dialog text colormenuConfig)Controls appearance of main menu and menu items:
"menuConfig": {
"menuBackgroundColor": "#000000",
"menuItemBackground": "",
"menuItemTextColor": "#ffffff",
"menuItemSelectedBackground": "1.png",
"menuItemSelectedTextColor": "#ffffff"
}
Properties:
menuBackgroundColor - Background color of main menumenuItemBackground - Background image for unselected menu itemsmenuItemTextColor - Text color for unselected menu itemsmenuItemSelectedBackground - Background image for selected menu itemmenuItemSelectedTextColor - Text color for selected menu itemhomePageConfig)This is where ALL main menu icons are defined!
"homePageConfig": {
"nowPlaying": "Now Playing.png",
"music": "Music.png",
"video": "Videos.png",
"audiobooks": "Audiobooks.png",
"photos": "Photos.png",
"fm": "FM Radio.png",
"bluetooth": "Bluetooth.png",
"settings": "Settings.png",
"shuffleQuick": "Shuffle Quick.png",
"ebook": "ebook.png",
"calculator": "calculator.png",
"calendar": "calendar.png"
}
All Properties (Exhaustive List):
| Property | Menu Option | Image Size | Description |
|---|---|---|---|
nowPlaying |
Now Playing | 166Γ166px | Currently playing track |
music |
Music | 166Γ166px | Music library |
video |
Videos | 166Γ166px | Video library |
audiobooks |
Audiobooks | 166Γ166px | Audiobook library |
photos |
Photos | 166Γ166px | Photo gallery |
fm |
FM Radio | 166Γ166px | FM radio tuner |
bluetooth |
Bluetooth | 166Γ166px | Bluetooth settings |
settings |
Settings | 166Γ166px | Settings menu |
shuffleQuick |
Shuffle Quick | 166Γ166px | Quick shuffle play |
ebook |
E-book | 166Γ166px | E-book reader |
calculator |
Calculator | 166Γ166px | Calculator |
calendar |
Calendar | 166Γ166px | Calendar |
Important Notes:
"") also triggers default iconsfileConfig)Icons for file types in file browsers:
"fileConfig": {
"folderIcon": "folder.png",
"musicIcon": "music_file.png"
}
Properties:
folderIcon - Icon for folders in file browsermusicIcon - Icon for music filessettingConfig)EXHAUSTIVE list of all settings menu icons:
"settingConfig": {
"shutdown": "Shutdown@1x.png",
"timedShutdown_off": "Timed shutdown_001@1x.png",
"timedShutdown_10": "Timed shutdown_002@1x.png",
"timedShutdown_20": "Timed shutdown_003@1x.png",
"timedShutdown_30": "Timed shutdown_004@1x.png",
"timedShutdown_60": "Timed shutdown_005@1x.png",
"timedShutdown_90": "Timed shutdown_006@1x.png",
"timedShutdown_120": "Timed shutdown_007@1x.png",
"shuffleOn": "Shuffle_on@1x.png",
"shuffleOff": "Shuffle_off@1x.png",
"repeatOff": "Repeat_off@1x.png",
"repeatAll": "Repeat_all@1x.png",
"repeatOne": "Repeat_one@1x.png",
"equalizer_normal": "Equalizer_normal@1x.png",
"equalizer_classical": "Equalizer_classical@1x.png",
"equalizer_dance": "Equalizer_dance@1x.png",
"equalizer_flat": "Equalizer_flat@1x.png",
"equalizer_folk": "Equalizer_folk@1x.png",
"equalizer_heavymetal": "Equalizer_heavy metal@1x.png",
"equalizer_hiphop": "Equalizer_hiphop@1x.png",
"equalizer_jazz": "Equalizer_jazz@1x.png",
"equalizer_pop": "Equalizer_pop@1x.png",
"equalizer_rock": "Equalizer_rock@1x.png",
"keyLockOn": "Key lock_on@1x.png",
"keyLockOff": "Key lock_off@1x.png",
"keyToneOn": "Key tone_on@1x.png",
"keyToneOff": "Key tone_off@1x.png",
"keyVibrationOn": "Key vibration_on@1x.png",
"keyVibrationOff": "Key vibration_off@1x.png",
"wallpaper": "Wallpaper@1x.png",
"backlight_10": "Backlight_001@1x.png",
"backlight_15": "Backlight_003@1x.png",
"backlight_30": "Backlight_004@1x.png",
"backlight_45": "Backlight_005@1x.png",
"backlight_60": "Backlight_006@1x.png",
"backlight_120": "Backlight_007@1x.png",
"backlight_300": "Backlight_007@1x.png",
"backlight_always": "Backlight_002@1x.png",
"brightness": "Brightness@1x.png",
"displayBatteryOn": "Display battery_on@1x.png",
"displayBatteryOff": "Display battery_off@1x.png",
"dateTime": "Date & Time@1x.png",
"language": "Language@1x.png",
"launcher": "Launcher.png",
"factoryReset": "Factory@1x.png",
"clearCache": "Clear cache@1x.png",
"theme": "Change Theme@1x.png",
"fileExtensionOn": "file_ext_on.png",
"fileExtensionOff": "file_ext_off.png",
"settingMask": "settings_mask.png"
}
All Setting Icons (Grouped by Category):
shutdown - Shutdown optiontimedShutdown_off, timedShutdown_10/20/30/60/90/120 - Timed shutdown statesshuffleOn, shuffleOff - Shuffle mode togglerepeatOff, repeatAll, repeatOne - Repeat mode optionsequalizer_normal, equalizer_classical, equalizer_danceequalizer_flat, equalizer_folk, equalizer_heavymetalequalizer_hiphop, equalizer_jazz, equalizer_pop, equalizer_rockkeyLockOn, keyLockOff - Key lock stateskeyToneOn, keyToneOff - Key tone stateskeyVibrationOn, keyVibrationOff - Key vibration statesbacklight_10/15/30/45/60/120/300/always - Backlight timeout options (8 states)brightness - Brightness settingdisplayBatteryOn, displayBatteryOff - Battery display toggledateTime - Date & Time settinglanguage - Language selectionlauncher - Launcher/Rockbox togglefactoryReset - Factory resetclearCache - Cache clearingtheme - Theme selectionwallpaper - Wallpaper selectionfileExtensionOn, fileExtensionOff - File extension display togglesettingMask - Settings screen overlay maskImage Size: 146Γ146 pixels for all setting icons
statusConfig)Status bar indicators and battery icons:
"statusConfig": {
"playing": "play.png",
"audiobookPlaying": "audiobook_play.png",
"pause": "pause.png",
"fmPlaying": "fm_play.png",
"stop": "stop.png",
"blConnected": "bl_connected.png",
"blConnecting": "bl_connecting.png",
"blDisconnected": "bl_disconnected.png",
"headsetWithMic": "headset_mic.png",
"headsetWithoutMic": "headset_no_mic.png",
"statusBarColor": "#000000",
"battery": [
"battery.001.png",
"battery.002.png",
"battery.003.png",
"battery.004.png"
],
"batteryCharging": [
"batterycharge.001.png",
"batterycharge.002.png",
"batterycharge.003.png",
"batterycharge.004.png"
]
}
Properties:
playing - Music playing indicatoraudiobookPlaying - Audiobook playing indicatorpause - Paused indicatorfmPlaying - FM radio playing indicatorstop - Stopped indicatorblConnected - Bluetooth connectedblConnecting - Bluetooth connectingblDisconnected - Bluetooth disconnectedheadsetWithMic - Headset with microphone connectedheadsetWithoutMic - Headset without microphone connectedbattery - Array of 4 battery level images (0-25%, 26-50%, 51-75%, 76-100%)batteryCharging - Array of 4 charging battery imagesstatusBarColor - Status bar background colorImage Size: 64Γ64 pixels (SMALL_ICON size) for status icons
playerConfig)Media player UI customization:
"playerConfig": {
"progressTextColor": "#ffffff",
"progressColor": "#00ff00",
"progressBackgroundColor": "#333333"
}
Properties:
progressTextColor - Color of time/progress textprogressColor - Color of progress bar fillprogressBackgroundColor - Color of progress bar backgroundPlace a TrueType font (.ttf) file in your theme directory:
"fontFamily": "YourFont.ttf"
Supported Formats:
.ttf (TrueType Font)Behavior:
Font Loading Process:
Typeface.createFromFile()Hereβs a complete, fully-documented example:
{
"theme_info": {
"title": "Complete Theme Example",
"author": "Theme Developer",
"authorUrl": "https://example.com",
"description": "A fully featured theme with all options"
},
"themeCover": "cover.png",
"desktopWallpaper": "desk_bg001.png",
"globalWallpaper": "global_bg001.png",
"desktopMask": "mask.png",
"fontFamily": "CustomFont.ttf",
"itemConfig": {
"itemTextColor": "#ffffff",
"itemSelectedTextColor": "#00ff00",
"itemBackground": "",
"itemSelectedBackground": "item_selected.png",
"itemRightArrow": "arrow_right.png"
},
"dialogConfig": {
"dialogOptionBackground": "dialog_bg.png",
"dialogOptionTextColor": "#ffffff",
"dialogOptionSelectedBackground": "dialog_selected.png",
"dialogOptionSelectedTextColor": "#ffff00",
"dialogBackgroundColor": "#333333",
"dialogTextColor": "#ffffff"
},
"menuConfig": {
"menuBackgroundColor": "#000000",
"menuItemBackground": "",
"menuItemTextColor": "#ffffff",
"menuItemSelectedBackground": "menu_selected.png",
"menuItemSelectedTextColor": "#00ff00"
},
"homePageConfig": {
"nowPlaying": "Now Playing.png",
"music": "Music.png",
"video": "Videos.png",
"audiobooks": "Audiobooks.png",
"photos": "Photos.png",
"fm": "FM Radio.png",
"bluetooth": "Bluetooth.png",
"settings": "Settings.png",
"shuffleQuick": "Shuffle Quick.png",
"ebook": "E-book.png",
"calculator": "Calculator.png",
"calendar": "Calendar.png"
},
"fileConfig": {
"folderIcon": "folder.png",
"musicIcon": "music_file.png"
},
"settingConfig": {
"settingMask": "settings_overlay.png",
"shutdown": "Shutdown.png",
"timedShutdown_off": "TimedShutdown_Off.png",
"timedShutdown_10": "TimedShutdown_10.png",
"timedShutdown_20": "TimedShutdown_20.png",
"timedShutdown_30": "TimedShutdown_30.png",
"timedShutdown_60": "TimedShutdown_60.png",
"timedShutdown_90": "TimedShutdown_90.png",
"timedShutdown_120": "TimedShutdown_120.png",
"shuffleOn": "Shuffle_On.png",
"shuffleOff": "Shuffle_Off.png",
"repeatOff": "Repeat_Off.png",
"repeatAll": "Repeat_All.png",
"repeatOne": "Repeat_One.png",
"equalizer_normal": "EQ_Normal.png",
"equalizer_classical": "EQ_Classical.png",
"equalizer_dance": "EQ_Dance.png",
"equalizer_flat": "EQ_Flat.png",
"equalizer_folk": "EQ_Folk.png",
"equalizer_heavymetal": "EQ_HeavyMetal.png",
"equalizer_hiphop": "EQ_HipHop.png",
"equalizer_jazz": "EQ_Jazz.png",
"equalizer_pop": "EQ_Pop.png",
"equalizer_rock": "EQ_Rock.png",
"keyLockOn": "KeyLock_On.png",
"keyLockOff": "KeyLock_Off.png",
"keyToneOn": "KeyTone_On.png",
"keyToneOff": "KeyTone_Off.png",
"keyVibrationOn": "KeyVib_On.png",
"keyVibrationOff": "KeyVib_Off.png",
"wallpaper": "Wallpaper.png",
"backlight_10": "Backlight_10.png",
"backlight_15": "Backlight_15.png",
"backlight_30": "Backlight_30.png",
"backlight_45": "Backlight_45.png",
"backlight_60": "Backlight_60.png",
"backlight_120": "Backlight_120.png",
"backlight_300": "Backlight_300.png",
"backlight_always": "Backlight_Always.png",
"brightness": "Brightness.png",
"displayBatteryOn": "BatteryDisplay_On.png",
"displayBatteryOff": "BatteryDisplay_Off.png",
"dateTime": "DateTime.png",
"language": "Language.png",
"launcher": "Launcher.png",
"factoryReset": "FactoryReset.png",
"clearCache": "ClearCache.png",
"theme": "ThemeSelector.png",
"fileExtensionOn": "FileExt_On.png",
"fileExtensionOff": "FileExt_Off.png"
},
"statusConfig": {
"playing": "status_playing.png",
"audiobookPlaying": "status_audiobook.png",
"pause": "status_pause.png",
"fmPlaying": "status_fm.png",
"stop": "status_stop.png",
"blConnected": "status_bt_on.png",
"blConnecting": "status_bt_connecting.png",
"blDisconnected": "status_bt_off.png",
"headsetWithMic": "status_headset_mic.png",
"headsetWithoutMic": "status_headset.png",
"statusBarColor": "#1a1a1a",
"battery": [
"battery_0.png",
"battery_25.png",
"battery_50.png",
"battery_75.png"
],
"batteryCharging": [
"battery_charging_0.png",
"battery_charging_25.png",
"battery_charging_50.png",
"battery_charging_75.png"
]
},
"playerConfig": {
"progressTextColor": "#ffffff",
"progressColor": "#00ff00",
"progressBackgroundColor": "#222222"
}
}
Themes must be placed in:
/storage/sdcard0/Themes/YourThemeName/
config.json and cover.png (minimum required files)The app validates themes by checking:
/storage/sdcard0/Themes/config.json exists in theme directorypngquant or optipng to reduce file size"" for properties you want to skip, not null"#FF0000"Music.png β music.pngYou donβt need to define EVERY property. The app will:
Minimal viable theme:
{
"themeCover": "cover.png",
"desktopWallpaper": "bg.png",
"globalWallpaper": "bg.png",
"itemConfig": {
"itemTextColor": "#ffffff",
"itemSelectedTextColor": "#00ff00"
},
"menuConfig": {
"menuBackgroundColor": "#000000",
"menuItemTextColor": "#ffffff"
},
"homePageConfig": {
"music": "Music.png",
"settings": "Settings.png"
}
}
desktopMask)An overlay image applied to the desktop/home screen:
"desktopMask": "overlay_mask.png"
Use cases:
settingMask)An overlay image applied to the settings screen:
"settingConfig": {
"settingMask": "settings_overlay.png"
}
Check:
/storage/sdcard0/Themes/config.json exists and is valid JSONCheck:
Check:
#itemTextColor not itemTextColour)Check:
config.json to learn the ropesthemeCover - Theme previewdesktopWallpaper - Desktop backgroundglobalWallpaper - Global backgrounditemConfig sectionmenuConfig sectionhomePageConfig section with at least main iconsdialogConfig sectiontheme_info section (metadata)desktopMask (overlay)fontFamily (custom font)settingConfig (all settings icons)statusConfig (status bar icons)playerConfig (player colors)fileConfig (file browser icons)Use this checklist to ensure you have all main menu icons:
nowPlaying - Now Playing (166Γ166px)music - Music (166Γ166px)settings - Settings (166Γ166px)video - Videos (166Γ166px)audiobooks - Audiobooks (166Γ166px)photos - Photos (166Γ166px)fm - FM Radio (166Γ166px)bluetooth - Bluetooth (166Γ166px)shuffleQuick - Shuffle Quick (166Γ166px)ebook - E-book Reader (166Γ166px)calculator - Calculator (166Γ166px)calendar - Calendar (166Γ166px)Total: 12 main menu icons
shutdown - Shutdown (146Γ146px)wallpaper - Wallpaper (146Γ146px)brightness - Brightness (146Γ146px)language - Language (146Γ146px)launcher - Launcher/Rockbox (146Γ146px)theme - Theme Selection (146Γ146px)factoryReset - Factory Reset (146Γ146px)clearCache - Clear Cache (146Γ146px)dateTime - Date & Time (146Γ146px)shuffleOn / shuffleOffrepeatOff / repeatAll / repeatOnetimedShutdown_off/10/20/30/60/90/120equalizer_normal/classical/dance/flat/folkequalizer_heavymetal/hiphop/jazz/pop/rockkeyLockOn / keyLockOffkeyToneOn / keyToneOffkeyVibrationOn / keyVibrationOffbacklight_10/15/30/45/60/120/300/alwaysdisplayBatteryOn / displayBatteryOfffileExtensionOn / fileExtensionOffTotal: ~53 setting icons (many are toggle states)
playingaudiobookPlayingpausefmPlayingstopblConnectedblConnectingblDisconnectedheadsetWithMicheadsetWithoutMicbattery[0] - 0-25%battery[1] - 26-50%battery[2] - 51-75%battery[3] - 76-100%batteryCharging[0] - Charging 0-25%batteryCharging[1] - Charging 26-50%batteryCharging[2] - Charging 51-75%batteryCharging[3] - Charging 76-100%Total: 18 status icons
homePageConfig)β Invalid JSON syntax - Use a validator
β Missing required files - config.json and cover.png are mandatory
β Wrong image sizes - Use recommended dimensions
β Case mismatch - Music.png in config but music.png as filename
β Absolute paths - Use relative paths (just filenames)
β Non-PNG formats - Stick to PNG for compatibility
β Trailing commas - Remove comma after last property
β Unquoted colors - #FF0000 should be "#FF0000"
#RRGGBB or #AARRGGBBWhen uploading your theme folder, please include additional information and screenshots to help users discover and understand your theme.
Include screenshots in your theme folder with these naming conventions:
screenshot.jpg - Primary screenshotscreenshot2.jpeg - Additional screenshotscreenshot.gif - Animated GIF (will show first in theme previews)screenshot3.png - Additional static imagesTaking Screenshots: The Innioasis Updater includes a Toolkit with a Remote Control tool for capturing static images of the Y1βs screen. It takes around 10 seconds to make an initial connection.
Note: Youβll need to have updated your firmware with Innioasis Updater at least once to enable screenshotting if your Y1 came with version 2.1.9 or earlier, as screenshotting isnβt enabled out of the box.
Add theme metadata to your config.json file at the very top. Replace the opening { with this template:
{
"theme_info": {
"title": "My Theme",
"author": "John Doe",
"authorUrl": "https://johndoe.com",
"description": "A gorgeous theme for the Innioasis Y1 inspired by..."
},
// ... rest of your config
}
Field Descriptions:
Once youβve created your theme (whether beginner or moderate level), itβs time to share it with the community! Choose the submission method that works best for you.
There are several ways to share your themes with the community. Choose the method that works best for you!
Perfect for: Artists, designers, anyone who wants simplicity
The easiest way to share your theme is by uploading it to the community Google Drive folder.
HoloPebble/)Perfect for: Showcasing work, getting feedback, building recognition
Share your theme on r/innioasis to get community feedback and showcase your creative work.
π Title Format:
[Theme] YourThemeName - Brief Description
Example: [Theme] HoloPebble - Glassmorphic theme with clean design
πΈ Include Screenshots: Upload 2-3 images showing your theme in action
π Important: Make sure your config.json file includes the theme_info section with your metadata:
{
"theme_info": {
"title": "HoloPebble",
"author": "Your Name",
"authorUrl": "https://your-reddit-profile.com",
"description": "A sleek, glassmorphic theme included with the Innioasis Y1 with clean blue accents"
}
}
Note: This metadata should be in your themeβs config.json file, not in the Reddit post itself. The community will use this information when adding your theme to the official listings.
## Theme: HoloPebble
**Description:** A sleek, glassmorphic theme included with the Innioasis Y1
**Features:**
- Clean, minimalist interface
- Blue accent colors
- Professional design principles
- Easy to read in all lighting conditions
**Screenshots:** [Include 2-3 screenshots showing the theme]
**Download:** [Link to your theme files or Google Drive]
**Author:** Your Name
**Portfolio:** https://yourwebsite.com
Perfect for: Developers, version control, automatic website listing
For those comfortable with technical workflows, GitHub provides the most robust submission method.
GitHub is a website where developers store and share code. Think of it like Google Drive for software projects. The Y1 themes are stored in a GitHub βrepositoryβ (like a shared folder).
If youβre new to GitHub or prefer a simpler approach, this section explains how to contribute themes using GitHubβs web interface without needing to install any software.
π Step 1: Create a GitHub Account
π΄ Step 2: Fork the Repository
π Step 3: Add Your Theme Files
HoloPebble/ in the file pathconfig.json (with theme_info section)cover.pngscreenshot.jpgπ Step 4: Update the Theme List Note: This step is only needed if youβre submitting directly via GitHub PR
themes.json in your repository{
"name": "HoloPebble",
"folder": "HoloPebble",
"screenshot": "./HoloPebble/screenshot.jpg",
"description": "A sleek, glassmorphic theme included with the Innioasis Y1",
"author": "Your Name",
"authorUrl": "https://yourwebsite.com"
}
Important: If youβre using Google Drive or Reddit submission methods, you donβt need to edit themes.json - the community will handle this for you.
π Step 5: Submit Your Theme
β βI canβt find the Fork buttonβ
β βMy theme isnβt showing upβ
config.json has the theme_info sectionthemes.json entry is in the right alphabetical positionβ βI made a mistakeβ
If youβre still having trouble:
Donβt worry if the JSON editing seems intimidating! Here are some resources to help:
JSON Validators (to check your syntax):
Template Files:
config.json and modify itCommunity Support:
Crediting others: If adding someone elseβs theme, ensure you credit them properly in the theme details and provide a link to where you found it in the authorUrl field.
Opt-out option: If you donβt wish for your theme to be listed on https://themes.innioasis.app or in the Google Drive repository, contact the team at teamslide@proton.me or submit an issue on the repository.
Documentation: The team will try to add and document authors for themes found online, with proper attribution.
Before submitting your theme:
config.json includes theme_info section with all required fieldscover.png is present and properly sizedscreenshot.jpg, etc.)Creating a complete theme requires:
Total possible customization:
Start simple, test frequently, and add complexity gradually!
Happy Theming! π¨