¿Qué son los temas?

Un tema es un tipo especial de extensión que cambia la apariencia del navegador. Los temas se empaquetan como extensiones normales, pero no contienen código JavaScript ni HTML.

Puedes encontrar y probar varios temas en Chrome Web Store.

tema de plantas verdes

tema de humo de amor

tema jus d'orange

Manifest

Este es un archivo manifest.json de ejemplo para un tema:

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

colores

Los colores están en formato RGB. Para encontrar las cadenas que puedes usar dentro del campo "colors", consulta kOverwritableColorTable.

imágenes

Los recursos de imagen usan rutas de acceso relativas a la raíz de la extensión. Puedes anular cualquiera de las imágenes especificadas por las strings en kPersistingImages. Todas las imágenes deben almacenarse en formato PNG o no se renderizarán correctamente.

properties

Este campo te permite especificar propiedades como la alineación del fondo, la repetición de fondo y un logotipo alternativo. Para ver las propiedades y los valores que pueden tener, consulta kDisplayProperties.

tonos

Puedes especificar los tonos que se aplicarán a partes de la IU, como los botones, el marco y la pestaña de fondo. Google Chrome admite tonos, no imágenes, ya que las imágenes no funcionan en todas las plataformas y son frágiles cuando se agregan botones nuevos. Para encontrar las strings que puedes usar dentro del campo "tonos", consulta kTintTable.

Los tonos se muestran en formato de matices, saturación y luminosidad (HSL), con números de punto flotante en el rango del 0 al 1.0:

  • Hue es un valor absoluto, en el que 0 y 1 son rojos.
  • La saturación se relaciona con la imagen proporcionada actualmente. 0.5 es sin cambios, 0 es totalmente desaturado y 1 es saturación completa.
  • La luminosidad también es relativa, donde 0.5 es sin cambio, 0 es todos los píxeles negros y 1 es todos los píxeles blancos.

Como alternativa, puedes usar -1.0 para cualquiera de los valores de HSL a fin de especificar que no hubo cambios.