Thème, onglets et grille
Thème
Un thème est un objet. Les éditeurs visuels ne proposent pas de préréglages clair/sombre simplifiés, car ils ne représentent pas les possibilités réelles. L’application lit les anciennes chaînes par compatibilité ; les nouvelles configurations doivent utiliser la forme complète :
{
"theme": {
"background_color": "#121212",
"primary_color": "#2d2d2d",
"accent_color": "#80c100",
"text_color": "#ffffff",
"accent_text_color": "#000000",
"corner_radius": 12,
"ui_scale": 1.0,
"padding": 8,
"gap": 6
}
}
Les couleurs acceptent #RRGGBB et #AARRGGBB. corner_radius est limité à 64 dp, padding à 48 dp et gap à 32 dp. ui_scale, ou son alias font_scale, va de 0,85 à 1,8. Chaque widget et badge peut surcharger des valeurs avec theme ou theme_override ; une grille transmet son contexte local à ses enfants.
Onglets
{
"id": "home",
"title": "Maison",
"icon": "home",
"columns": 3,
"show_text": true,
"tab_icon_size": 18,
"tab_text_size": 16,
"badges_align": "left",
"widgets": []
}
id et widgets sont obligatoires. Les autres options sont type (default ou music_assistant), show_badges, badges, columns, icon, show_text/show_title, tab_icon_size, tab_text_size et badges_align. Globalement, tab_height, tab_padding_horizontal, tab_alignment (equal, left, right), settings_tab_width, show_tab_text et tab_order contrôlent la barre.
Grille
Onglets et widgets utilisent columns. Les enfants peuvent fixer row, col, rowspan/row_span, colspan/col_span, cell_width/column_width, cell_height/row_height, cell_aspect_ratio, min_height, gap et margin. Sans taille fixe, la disposition native répartit la largeur disponible. L’aperçu reproduit cette disposition fixe et ne réduit que la surface complète de l’appareil.