GNOME intenta desde hace años establecer un estándar para ofrecer una experiencia consistente a través del entorno de escritorio y las aplicaciones que están bajo su dominio. Con el fin de avanzar hacia esa dirección, se ha anunciado ‘libadwaita’, que viene a ser el port de ‘libhandy’ para GTK 4.
GNOME se esfuerza desde hace 20 años por ofrecer una experiencia consistente a través de sus Pautas de Interfaz Humana (conocidas como HIG en sus siglas en inglés), las cuales van orientadas a aquellos que desarrollan aplicaciones para el entorno de escritorio. Sin embargo, con el paso del tiempo se vio que su implementación resultaba compleja, provocando variaciones y errores en su interpretación que se transformaban en inconsistencias y aplicaciones más difíciles de mantener.
La situación hizo que los responsables de GNOME tomaran la decisión de simplificar las pautas “a través de una biblioteca que ofrece widgets y estilos personalizados”. Aquí es donde entran en juego el fuerte vínculo de GTK con GNOME y sobre todo la presencia de Adwaita, que ejerce los roles de tema predeterminado y de “lenguaje visual” del entorno de escritorio.
La insistencia de los encargados de GNOME con su “lenguaje visual” terminó torciendo los brazos de Canonical y System76, que tras críticas y debates decidieron basar sus respectivos temas en Adwaita para facilitar el correcto despliegue de las aplicaciones GTK más allá de la implementación base del entorno.
Sin embargo, y a pesar de la activa defensa de Adwaita, desde GNOME reconocen que el doble rol que ha ejercido ha generado problemas, “ya que GTK sirve a múltiples audiencias y plataformas, y esto favorece a GNOME sobre ellas. Esto también conduce a desajustes en el ciclo de vida, ya que la maquinaria de GTK debe ser extremadamente estable y no puede evolucionar a un ritmo rápido, mientras que las pautas de GNOME y Adwaita evolucionan mucho más rápido en comparación y pueden beneficiarse de una biblioteca que puede mantenerse al día con los últimos diseños”. ‘libadwaita’ no solo quiere reforzar las Pautas de Interfaz Humana de GNOME, sino también hacer de palanca para quitarle un freno a la evolución de GTK 4 debido a que su inclusión no tendría que afectar negativamente a los desarrolladores terceros.
Adwaita, como “lenguaje visual” de GNOME, se encuentra actualmente implementado en la hoja de estilo de GTK de Adwaita y en el conjunto de iconos que lleva su nombre. A través de la biblioteca ‘libadwaita’ lo que se pretende es extender ese mismo concepto como parte del código que le falta, de ahí que haya sido implementada como una continuación y un reemplazo para ‘libhandy’ en GTK 4.
Dicho con otras palabras, que “la hoja de estilo de Adwaita se moverá a ‘libadwaita’, incluidas sus variantes como HighContrast y HighContrastInverse. GTK conservará una copia de esa hoja de estilo renombrada por defecto, que se centrará en las necesidades de las aplicaciones GTK vanilla”.
¿Y cuándo veríamos ‘libadwaita’ en acción? Pues si se cumple con las fechas previstas, pronto, más concretamente en GNOME 41, que sería lanzado en otoño de 2021. A partir de entonces Adwaita no solo será la “guía” visual de GNOME, sino una parte de GTK con la que se intenta reforzar las líneas de diseño del entorno de escritorio y facilitar la evolución del propio toolkit. Quienes quieran conocer todos los detalles ‘libadwaita’ y cómo portar a partir de GTK 3 y ‘libhandy’ pueden consultar la entrada publicada por Adrien Plazas.