App Icon Configuration#
Blinko is built with Tauri and configures app icons across three contexts: Android adaptive icons, PWA maskable icons, and desktop bundle icons (Windows/macOS/Linux). Icons are defined in separate locations per platform; the Android assets are generated under app/src-tauri/gen/android/, while PWA and desktop icons live under app/src-tauri/icons/ and app/public/icons/.
Android Adaptive Icons#
Android adaptive icons (API 26+) use two independent layers β foreground and background β both sized at 108Γ108 dp. The system masks them into the device-specific shape at runtime.
| Layer | File | Key details |
|---|---|---|
| Background | drawable/ic_launcher_background.xml | Solid green fill #3DDC84 with a semi-transparent white grid overlay |
| Foreground | drawable-v24/ic_launcher_foreground.xml | White icon path on a transparent base, with a dark gradient shadow element |
Both vector drawables declare android:width="108dp" and android:height="108dp" with a matching 108Γ108 viewport . The foreground is placed in drawable-v24/ so it is only loaded on Android 7.0+ devices.
The AndroidManifest.xml references the composed icon via android:icon="@mipmap/ic_launcher" , pointing to pre-rendered PNG density buckets in the mipmap-{mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi} directories alongside ic_launcher_round.png variants.
Safe zone: Android guarantees only the central 72 dp of the 108 dp canvas is always visible. Keep critical artwork within that inner circle; the outer 18 dp bleed zone may be clipped depending on the device launcher.
PWA Maskable Icons#
The web app manifest at app/public/manifest.json lists nine PNG icon sizes serving Windows tile and PWA home-screen installation scenarios :
| Size | File |
|---|---|
| 30Γ30 β 284Γ284 | Square{N}x{N}Logo.png (7 sizes) |
| 310Γ310 | Square310x310Logo.png β declared "purpose": "any maskable" |
Only the largest icon (310Γ310) carries the maskable purpose flag , which signals to PWA-aware browsers that the image includes built-in safe-zone padding and can be cropped to any shape (circle, squircle, etc.).
The manifest also sets "theme_color": "#FFFFFF" and "background_color": "#FFFFFF" , used for the splash screen and browser chrome on install.
Desktop Bundle Icons (Tauri)#
Desktop icon assets are declared in app/src-tauri/tauri.conf.json under bundle.icon:
icons/32x32.pngβ Windows taskbar / small sizesicons/128x128.pngandicons/128x128@2x.pngβ Linux and standard/HiDPI macOSicons/icon.icnsβ macOS app bundleicons/icon.icoβ Windows installer/executable
These source files live in app/src-tauri/icons/. Tauri reads this list at build time to embed the correct icon into each platform's bundle.
File Map#
| Platform | Config / Entry point | Asset directory |
|---|---|---|
| Android | gen/android/.../AndroidManifest.xml | gen/android/.../res/mipmap-*, res/drawable* |
| PWA | app/public/manifest.json | app/public/icons/ |
| Desktop | app/src-tauri/tauri.conf.json | app/src-tauri/icons/ |