Aller au contenu

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.