Que sont les thèmes ?

Un thème est un type particulier d'extension qui modifie l'apparence du navigateur. Les thèmes sont empaquetés comme des extensions standards, mais ils ne contiennent pas de code JavaScript ni HTML.

Vous trouverez et testez différents thèmes sur le Chrome Web Store.

thème plantes vertes

thème amour fumée

Thème jus d'orange

Manifest

Voici un exemple de fichier manifest.json pour un thème:

{
  "manifest_version": 2,
  "version": "2.6",
  "name": "camo theme",
  "theme": {
    "images" : {
      "theme_frame" : "images/theme_frame_camo.png",
      "theme_frame_overlay" : "images/theme_frame_stripe.png",
      "theme_toolbar" : "images/theme_toolbar_camo.png",
      "theme_ntp_background" : "images/theme_ntp_background_norepeat.png",
      "theme_ntp_attribution" : "images/attribution.png"
    },
    "colors" : {
      "frame" : [71, 105, 91],
      "toolbar" : [207, 221, 192],
      "ntp_text" : [20, 40, 0],
      "ntp_link" : [36, 70, 0],
      "ntp_section" : [207, 221, 192],
      "button_background" : [255, 255, 255]
    },
    "tints" : {
      "buttons" : [0.33, 0.5, 0.47]
    },
    "properties" : {
      "ntp_background_alignment" : "bottom"
    }
  }
}

colors

Les couleurs sont au format RVB. Pour trouver les chaînes que vous pouvez utiliser dans le champ "couleurs", consultez kOverwritableColorTable.

images

Les ressources d'image utilisent des chemins d'accès relatifs à la racine de l'extension. Vous pouvez remplacer n'importe quelle image spécifiée par les chaînes dans kPersistingImages. Toutes les images doivent être stockées au format PNG, sans quoi elles ne s'afficheront pas correctement.

du bucket

Ce champ vous permet de spécifier des propriétés telles que l'alignement de l'arrière-plan, la répétition de l'arrière-plan et un autre logo. Pour voir les propriétés et les valeurs possibles, consultez la section kDisplayProperties.

teintes

Vous pouvez spécifier les teintes à appliquer aux éléments de l'interface utilisateur, tels que les boutons, le cadre et l'onglet d'arrière-plan. Google Chrome prend en charge les teintes, pas les images, car celles-ci ne fonctionnent pas sur toutes les plates-formes et sont fragiles si vous ajoutez des boutons. Pour trouver les chaînes que vous pouvez utiliser dans le champ "Teintes", consultez la section kTintTable.

Les teintes sont au format Hue-Saturation-Lightness (HSL) et utilisent des nombres à virgule flottante compris entre 0 et 1.0:

  • Teinte est une valeur absolue, 0 et 1 représentant le rouge.
  • La saturation dépend de l'image actuellement fournie. 0, 5 correspond à aucun changement, 0 à totalement désaturé et 1 à saturation totale.
  • La luminosité est également relative, 0, 5 correspondant à aucun changement, 0 à tous les pixels en noir et 1 à tous les pixels en blanc.

Vous pouvez également utiliser -1.0 pour n'importe quelle valeur HSL afin d'ne pas modifier.