Australis para desarrolladores de complementos – parte 1

11 enero, 2014 20:57 por

Australis, el nuevo tema para Firefox, está ahora disponible en el canal Nightly. Debido a que todavía se le están haciendo cambios importantes, actualmente está en su segundo ciclo de Nightly. Esto significa que Australis no estará en Firefox antes de la versión 29, la cual está actualmente planeada para salir al público general en el mes de abril.

Te recomendamos descargar la última versión Nightly y probar tus complementos con ella. Si eres un desarrollador de complementos y ves problemas, infórmanos, o crea un bug y agrégalo como dependencia a este bug de problemas de complementos con Australis. Asegúrate de revisar las otras dependencias primero, para evitar bugs duplicados. Si no eres un desarrollador y quieres reportar un problema con uno de los complementos que tienes instalados, puedes instalar el Add-on Compatibility Reporter y usarlo para hacérnoslo saber.

Ahora veamos qué es lo que ha cambiado en Australis. Si no has instalado Nightly todavía, puedes usar la información en este artículo (en inglés) como referencia.

Australis

Barras de herramientas

Las barras de herramientas han cambiado bastante. El objetivo es maximizar el área de contenido web disponible para los usuarios, eliminando áreas de la interfaz que normalmente están vacías. También se hicieron cambios más profundos que permiten crear widgets más complejos en la barra de herramientas y otras áreas.

La Barra de Complementos en la parte inferior ha sido eliminada. En su lugar ahora hay un panel que extiende la barra de herramientas con botones y otros widgets. Se activa haciendo click en el botón que está en el extremo derecho de la barra de herramientas principal. Todos los elementos en este menú nuevo se pueden personalizar, y también es posible agregarle botones y widgets de complementos.

La interfaz de personalización fue renovada y ahora es mucho más fácil de encontrar y utilizar. La interfaz de ventana completa permite a los usuarios entender mejor qué es lo que están haciendo y tener mayor control sobre la personalización de las barras de herramientas. Las posibles ubicaciones para botones son la barra de herramientas principal, barras de herramientas adicionales, la barra de pestañas, y el nuevo panel. Asegúrate que los botones y widgets de tu complementos funcionen bien en todos los cases. Actualmente no hay forma para que un usuario pueda crear nuevas barras de herramientas en blanco, pero la barra de marcadores se puede utilizar para añadir botones. Se eliminó la opción de botones grandes / botones pequeños.

El DOM de la barra de herramientas principal también cambió. Ahora hay un contenedor intermedio entre el nodo toolbar y sus nodos hijos. Es un hbox con id nav-bar-customization-target, lo cual puede tener un efecto en reglas CSS o código que asuma la estructura de nodos anterior.

Botones

Los íconos en la barra de herramientas principal son de 18×18 píxeles. Sin embargo, un padding de 1px es la norma, así que los íconos de 16×16 que deberías estar usando para versiones actuales de Firefox deberían funcionar sin ningún cambio.

Los botones pueden ser movidos por los usuarios, o añadidos por defecto en el nuevo panel, así que debes tener estos casos en cuenta. Los íconos son de 32×32 píxeles en el panel y en el área de personalización si no están en ninguna barra o el panel. Si el ícono es más pequeño, será expandido, lo cual no se ve muy bien si es un ícono de 16×16 siendo expandido al doble de sus dimensiones.

Así que si tienes un complemento que agrega un botón a la barra de herramientas usando las direcciones usuales de usar un overlay sobre el elemento toolbarpalette e insertarlo en la barra usando JS al inicio, todos debería funcionar de la misma manera. Solo deberías cambiar el CSS a algo así:

/* CSS original */
#mi-boton {
  list-style-image: url("chrome://mi-extension/skin/icon16.png");
}
/* Agregado para Australis */
#mi-boton[cui-areatype="menu-panel"],
toolbarpaletteitem[place="palette"] > #mi-button {
  list-style-image: url("chrome://mi-extension/skin/icon32.png");
}

Nota que los botones en Australis tienen un atributo cui-areatype cuando están presentes en la interfaz. Sus posibles valores son menu-panel y toolbar. Puedes usar el valor toolbar para tener diferentes estilos para el botón en Australis y no-Australis.

Los botones con type="menu" o type="menu-button" tienen una apariencia y comportamiento inconsistente. Hay algunos bugs creados para estos problemas, pero no está claro si serán corregidos a tiempo, debido a que para Australis se está favoreciendo el patrón subview (vista inferior). Un ejemplo de este patrón se puede ver en el botón de Historial, notando el comportamiento distinto que tiene en la barra de herramientas y en el panel. El proceso para implementar este comportamiento todavía no se ha documentado, pero puedes ver el código fuente para hacerte una idea.

Botones de la Barra de Complementos

Como mencioné anteriormente, la barra de complementos fue retirada para maximizar el área de contenido. Sin embargo hay un mecanismo para facilitar la migración a la barra principal (que incluso contiene la antigua barra de estado). Sin embargo, parece no estar funcionando bien por ahora. Abrí este bug para darle seguimiento al problema. Aun así recomendamos insertar tus botones en la barra de herramientas principal, directamente.

Por cierto, una manera sencilla para detectar si tu complemento está instalado en una versión de Firefox con Australis es buscar si existe un nodo con este ID: PanelUI-menu-button.

Complementos con el SDK

El SDK fue integrado al Firefox, así que ahora los complementos que usan el SDK no necesitan incluir todas sus librerías, haciéndolos más o menos independientes de la versión del SDK utilizada. La versión 1.15 del SDK está disponible, la cual genera los XPIs sin las librerías por defecto.

Dado que el SDK es parte del Firefox, puedes esperar que tus complementos y botones funcionen en Australis. Debes tener en cuenta que los widgets del SDK posiblemente serán eliminados en el futuro, a cambio de algo que funcione mejor con Australis, así que mantente atento a las noticias relacionadas con el SDK.

Más documentación

  • CustomizableUI.jsm. Este módulo es la herramienta que los complementos pueden usar para manipular la barra de herramientas y sus elementos. La documentación todavía se está editando, así que es posible que tengas que revisar el código fuente directamente para tener la información más actual. Te damos puntos si ayudas contibuyendo a la documentación, en español o en inglés :).
  • Australis and Add-on Compatibility (draft). Por el momento solo es una lista de notas de compatibilidad, que también está cambiando mucho, así que irá mejorando con el tiempo. Y, de nuevo, toda ayuda es bienvenida ;).
The following two tabs change content below.

jorgev

AMO Product Manager at Mozilla
Jorge trabaja para el equipo de complementos de Mozilla, y se dedica a Mozilla Hispano y Mozilla Costa Rica en su tiempo libre. Actualmente está encargado del blog de Mozilla Hispano Labs.

Compartir artículo:

  • ¡Participa!

    Firefox Friends »
    Agrega botones de Firefox en tu sitio web y comparte tu amor por Mozilla Firefox.
    Ayuda a otros usuarios en Twitter.
    Colabora con la comunidad »
    En Mozilla lo importante son las personas. Descubre cómo puedes colaborar.

    Boletín Firefox

    Suscríbete al boletín de novedades de Firefox.

  • Descargas

    Descarga los programas de Mozilla.

    Lo más visto

    cc-by-sa