InnioasisY1Themes

Theme Creation Guide for com.innioasis.y1

Overview

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.


Table of Contents

🎨 Theme Creation Levels

  1. Beginner: Image Replacement
  2. Moderate: Custom Themes

πŸ“š Reference Sections

  1. Theme Structure
  2. Configuration File (config.json)
  3. Image Assets
  4. Color Definitions
  5. Font Customization
  6. Complete Configuration Reference
  7. Installation
  8. Best Practices

πŸš€ Sharing Your Theme

  1. Theme Submission and Documentation
  2. Multiple Ways to Submit Your Theme
  3. GitHub Contribution Guide

🎨 Beginner: Image Replacement

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.

Step 1: Copy MelodyMuncher Theme

  1. Locate: Find the MelodyMuncher theme folder on your Y1 device
  2. Copy: Create a duplicate folder with your theme name (e.g., MyCustomTheme/)
  3. Rename: Update the folder name to something unique

Step 2: Replace Images

🎯 Start with these easy replacements:

Wallpapers (Big visual impact)

UI Elements (Subtle but effective)

Step 3: Simple Color Changes

Edit 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:

Step 4: Test Your Theme

  1. Copy: Your theme folder to /storage/sdcard0/Themes/
  2. Apply: Select your theme in Y1 settings
  3. Navigate: Check all menus to see your changes
  4. Adjust: Go back and modify colors/images as needed

πŸŽ‰ What You’ll Learn:


πŸš€ Moderate: Custom Themes

Perfect 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.

Step 1: Plan Your Theme

🎯 Define your vision:

Step 2: Create All Required Images

πŸ“ Essential files you must create:

🎨 Image categories:

Step 3: Configure Your Theme

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
}

Step 4: Advanced Customization


Theme Structure

Directory Layout

/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

Configuration File

Required Files

  1. config.json - Main configuration file (REQUIRED)
  2. cover.png - Theme preview image shown in theme selector (REQUIRED)

Basic config.json Structure

{
    "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": { ... }
}

Image Assets

Image Size Reference

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

Color Definitions

Color Format

All colors use standard hex format:

Empty Values


Complete Configuration Reference

1. Item Configuration (itemConfig)

Controls appearance of list items (music lists, file browsers, etc.):

"itemConfig": {
    "itemTextColor": "#ffffff",
    "itemSelectedTextColor": "#ffffff",
    "itemBackground": "",
    "itemSelectedBackground": "1.png",
    "itemRightArrow": "2.png"
}

Properties:


2. Dialog Configuration (dialogConfig)

Controls appearance of dialog boxes and popups:

"dialogConfig": {
    "dialogOptionBackground": "3.png",
    "dialogOptionTextColor": "#ffffff",
    "dialogOptionSelectedBackground": "4.png",
    "dialogOptionSelectedTextColor": "#ffffff",
    "dialogBackgroundColor": "#000000",
    "dialogTextColor": "#ffffff"
}

Properties:


3. Menu Configuration (menuConfig)

Controls appearance of main menu and menu items:

"menuConfig": {
    "menuBackgroundColor": "#000000",
    "menuItemBackground": "",
    "menuItemTextColor": "#ffffff",
    "menuItemSelectedBackground": "1.png",
    "menuItemSelectedTextColor": "#ffffff"
}

Properties:


4. Home Page Configuration (homePageConfig)

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:


5. File Configuration (fileConfig)

Icons for file types in file browsers:

"fileConfig": {
    "folderIcon": "folder.png",
    "musicIcon": "music_file.png"
}

Properties:


6. Settings Configuration (settingConfig)

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 & Power

Playback Controls

Equalizer Presets (10 options)

Key Behavior

Display Settings

System Settings

Additional

Image Size: 146Γ—146 pixels for all setting icons


7. Status Configuration (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:

Playback Status Icons

Bluetooth Status Icons

Headset Icons

Battery Icons (Arrays)

Colors

Image Size: 64Γ—64 pixels (SMALL_ICON size) for status icons


8. Player Configuration (playerConfig)

Media player UI customization:

"playerConfig": {
    "progressTextColor": "#ffffff",
    "progressColor": "#00ff00",
    "progressBackgroundColor": "#333333"
}

Properties:


Font Customization

Custom Font File

Place a TrueType font (.ttf) file in your theme directory:

"fontFamily": "YourFont.ttf"

Supported Formats:

Behavior:

Font Loading Process:

  1. Theme manager copies font to temp location
  2. Font is loaded via Typeface.createFromFile()
  3. Applied to all text views in the app

Complete config.json Example

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"
    }
}

Installation

Theme Directory Location

Themes must be placed in:

/storage/sdcard0/Themes/YourThemeName/

Installation Steps

  1. Create your theme directory on the SD card
  2. Add config.json and cover.png (minimum required files)
  3. Add any custom images referenced in config.json
  4. Open Y1 app β†’ Settings β†’ Theme
  5. Select your theme from the list
  6. Confirm to apply

Theme Validation

The app validates themes by checking:


Best Practices

1. Image Optimization

2. Color Choices

3. JSON Formatting

4. File Naming

5. Fallback Strategy

You 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"
    }
}

Advanced Features

Desktop Mask (desktopMask)

An overlay image applied to the desktop/home screen:

"desktopMask": "overlay_mask.png"

Use cases:

Setting Mask (settingMask)

An overlay image applied to the settings screen:

"settingConfig": {
    "settingMask": "settings_overlay.png"
}

Troubleshooting

Theme Doesn’t Appear in List

Check:

Images Not Loading

Check:

Colors Not Applied

Check:

Font Not Loading

Check:


Example Themes Included

HoloPebble

Unseen

MelodyMuncher


Theme Property Quick Reference

Complete Property Checklist

βœ… Required

πŸ”§ Optional


Icon Asset Checklist for Main Menu

Use this checklist to ensure you have all main menu icons:

Core Menu Items (Always Visible)

Common Menu Items

Additional Features

Total: 12 main menu icons


Settings Icon Checklist

Essential Settings Icons

Playback Settings (6 icons)

Timed Shutdown (8 icons)

Equalizer Presets (10 icons)

Key Behavior (6 icons)

Backlight Options (8 icons)

Display Options (4 icons)

Total: ~53 setting icons (many are toggle states)


Status Bar Icon Checklist

Playback Status (5 icons, 64Γ—64px)

Bluetooth Status (3 icons, 64Γ—64px)

Headset Status (2 icons, 64Γ—64px)

Battery Arrays (8 icons total, 64Γ—64px)

Total: 18 status icons


Theme Testing Workflow

1. Development

  1. Create theme directory structure
  2. Add config.json with minimal configuration
  3. Add cover.png
  4. Test on device - verify theme appears in list

2. Incremental Addition

  1. Add one section at a time (e.g., start with homePageConfig)
  2. Test after each section
  3. Verify images load correctly
  4. Check for JSON errors

3. Refinement

  1. Adjust colors for readability
  2. Optimize image sizes
  3. Test with different content (long text, different languages)
  4. Verify all states (selected/unselected, on/off)

4. Final Testing

  1. Apply theme
  2. Navigate through all menus
  3. Check all settings options
  4. Verify status icons appear
  5. Test with music playback

Common Mistakes to Avoid

❌ 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"


Resources

Color Pickers

Image Creation

JSON Validation


Theme Submission and Documentation

Adding Theme Information and Screenshots

When uploading your theme folder, please include additional information and screenshots to help users discover and understand your theme.

Screenshots

Include screenshots in your theme folder with these naming conventions:

Taking 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.

Adding Credits and Description Data

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:


πŸ“€ Ready to Share Your Theme?

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.


🎨 Multiple Ways to Submit Your Theme

There are several ways to share your themes with the community. Choose the method that works best for you!


🌟 Method 1: Google Drive Upload

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.

Simple Steps:

  1. Go to: Community Themes Folder
  2. Click: β€œNew” β†’ β€œFolder upload”
  3. Select: Your complete theme folder (e.g., HoloPebble/)
  4. Upload: The folder with all your theme files
  5. Done! The community will organize and add it to the official listings

Why This Works:


🎯 Method 2: Reddit Community Post

Perfect for: Showcasing work, getting feedback, building recognition

Share your theme on r/innioasis to get community feedback and showcase your creative work.

Post Preparation:

πŸ“ 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.

πŸ“ Post Content Template:

## 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

πŸŽ‰ Benefits:


πŸš€ Method 3: GitHub Repository

Perfect for: Developers, version control, automatic website listing

For those comfortable with technical workflows, GitHub provides the most robust submission method.

What is GitHub?

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).

Why Use GitHub?


πŸ› οΈ GitHub Contribution Guide (For Beginners)

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.

🎯 Simple Browser-Based Method

πŸ“ Step 1: Create a GitHub Account

  1. Go to: github.com
  2. Click: β€œSign up” and create a free account
  3. Verify: Your email address

🍴 Step 2: Fork the Repository

  1. Go to: github.com/y1-community/InnioasisY1Themes
  2. Click: The β€œFork” button (top-right corner)
  3. Result: This creates your own copy of the themes repository

πŸ“ Step 3: Add Your Theme Files

  1. In your forked repository: Click β€œAdd file” β†’ β€œUpload files”
  2. Create folder: Type HoloPebble/ in the file path
  3. Upload files:
    • config.json (with theme_info section)
    • cover.png
    • screenshot.jpg
    • All your theme images
  4. Click: β€œCommit changes”

πŸ“‹ Step 4: Update the Theme List Note: This step is only needed if you’re submitting directly via GitHub PR

  1. Find: Click on themes.json in your repository
  2. Edit: Click the pencil icon (Edit) to edit the file
  3. Add entry: Add your theme entry in alphabetical order:
{
    "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"
}
  1. Save: Click β€œCommit changes”

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

  1. Click: β€œContribute” β†’ β€œOpen pull request”
  2. Title: β€œAdd HoloPebble by YourName”
  3. Description: Write a description of your theme
  4. Submit: Click β€œCreate pull request”

πŸŽ‰ What Happens Next?

  1. πŸ“‹ Review: The repository maintainers will review your theme
  2. βœ… Approval: If everything looks good, they’ll approve your pull request
  3. 🌐 Live: Your theme will appear on themes.innioasis.app automatically
  4. πŸ“§ Notification: You’ll get an email when your theme is approved

πŸ› οΈ Troubleshooting

❓ β€œI can’t find the Fork button”

❓ β€œMy theme isn’t showing up”

❓ β€œI made a mistake”


πŸ†˜ Need More Help?

If you’re still having trouble:

  1. πŸ“§ Contact: teamslide@proton.me
  2. πŸ› Submit Issue: On the GitHub repository
  3. πŸ’¬ Community: Ask for help on r/innioasis at www.reddit.com/r/innioasis

Need Help with the Technical Parts?

Don’t worry if the JSON editing seems intimidating! Here are some resources to help:

JSON Validators (to check your syntax):

Template Files:

Community Support:

Theme Directory Guidelines

Theme Submission Checklist

Before submitting your theme:


Summary

Creating a complete theme requires:

  1. Minimum: 2 files (config.json + cover.png)
  2. Basic theme: ~15 files (config + wallpapers + main icons)
  3. Complete theme: 70+ files (all icons + states + custom font)

Total possible customization:

Start simple, test frequently, and add complexity gradually!

Happy Theming! 🎨