Visit Mozilla.org

Empacotando Temas

De MDC


Este documento descreve como empacotar temas para o Firefox e o Thunderbird.

Tabela de conteúdo

[editar] Pré Requisitos

Fazer um tema para o Firefox ou Thunderbird requer conhecimentos em Cascading Style Sheets (CSS), provavelmente XBL, e um pouco de design gráfico e habilidade estética (...ou talvez não). Este documento descreve somente como Temas são empacotados em ordem para serem mostrados na janela de Temas do Firefox.

[editar] Disposição do Arquivo de Tema

Os temas do Firefox/Thunderbird são empacotados em um arquivo JAR com a seguinte estrutura:

theme.jar:
  install.rdf
  contents.rdf
  preview.png
  icon.png
  browser/files
  global/files
  mozapps/files
  communicator/files
  ...
     
  • Você deve ter um nível máximo chrome.manifest (Firefox/Thunderbird 1.5) ou o arquivo contents.rdf que registre o chrome para o tema (como antes) e também um manifesto install.rdf que especifica metadados que são exibidos na janela de Temas.
  • preview.png é uma imagem de previsão que será mostrada na área de previsão da janela de Temas. Ela pode ter qualquer tamanho.
  • icon.png é um PNG 32x32 (pode conter transparência alfa) que irá aparecer na lista de Temas na janela de Temas.

[editar] install.rdf

Seu manifesto install.rdf parecerá com isto:

<?xml version="1.0"?>

<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:em="http://www.mozilla.org/2004/em-rdf#">

  <Description about="urn:mozilla:install-manifest">
    <em:type>4</em:type>
    more properties
  </Description>      
</RDF>

[editar] Propriedades Requeridas de install.rdf

Seu arquivo install.rdf deve ter as seguintes propriedades. Veja a Referência install.rdf para mais informações:

  • em:id
  • em:version
  • em:type
  • em:targetApplication
  • em:name
  • em:internalName

[editar] Propriedades Opcionais de install.rdf

  • em:description
  • em:creator
  • em:contributor
  • em:homepageURL
  • em:updateURL

Note que se o seu tema estiver disponível no website http://addons.mozilla.org, ele não deve incluir uma URL de atualização.

[editar] Arquivo de Amostra install.rdf

<?xml version="1.0"?>

<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:em="http://www.mozilla.org/2004/em-rdf#">

  <Description about="urn:mozilla:install-manifest">
    <em:id>{18b64b56-d42f-428d-a88c-baa413bc413f}</em:id>
    <em:version>1.0</em:version>
    <em:type>4</em:type>

    <!-- Target Application this extension can install into, 
         with minimum and maximum supported versions. -->
    <em:targetApplication>
      <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
        <em:minVersion>0.8</em:minVersion>
        <em:maxVersion>0.9</em:maxVersion>
      </Description>
    </em:targetApplication>
    
    <!-- Front End MetaData -->
    <em:name>New Theme 1</em:name>
    <em:description>A test theme for Firefox</em:description>
    <em:creator>Ben Goodger</em:creator>
    <em:contributor>John Doe</em:contributor>
    <em:homepageURL>http://www.bengoodger.com/</em:homepageURL>

    <!-- Front End Integration Hooks (used by Theme Manager)-->
    <em:internalName>newtheme1</em:internalName>
  </Description>
</RDF>

Os seguir estão algumas aplicações comuns de alvos GUIDs que você pode usar na sua propriedade targetApplication:

Firefox      {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
Thunderbird  {3550f703-e582-4d05-9a08-453d09bdfdc6}
Sunbird      {718e30fb-e89b-41dd-9da7-e25a45638b28}

[editar] Referências Oficiais para Toolkit API

Toolkit API:Official References