Linux Adictos Diego Germán González  

Libadwaita, la biblioteca de la discordia

foto de personas boxeando

libdadwaita es la librería de la discordia que llevó a Budgie a basarse en otra biblioteca.

¿Por qué Ubuntu quitó el color berenjena de su paleta de colores? ¿Por qué el principal desarrollador del proyecto Budgie decidió abandonar GTK y pasarse a ELF para las próximas versiones del escritorio? La respuesta es una biblioteca llamada libadwaita.

No es la primera vez que decisiones técnicas (muchas veces basadas en motivos no técnicos) generan fuertes discusiones en los proyectos de software libre y de código abierto y tampoco será la última. La diferencia en este caso es que  los cambios que se producen a consecuencia de esas decisiones son visibles para los usuarios comunes.

Qué es y para qué sirve libadwaita, la biblioteca de la discordia.

Comencemos definiendo algunos conceptos:

Una biblioteca es un programa informático que cumple una función o provee componentes para una tarea específica, por ejemplo, mostrar un mensaje en una ventana emergente.  Las bibliotecas son usadas por creadores de programas que necesitan implementar esa función específica para ahorrar tiempo de codificación. Además, como la mayoría de las bibliotecas se instalan de manera independiente, pueden ser llamadas por otros programas ahorrando espacio en disco.

GTK es un conjunto de bibliotecas de elementos gráficos utilizadas para la construcción de interfaces de usuario. La usan GNOME, Mate, Cinnamon entre otros.  Además de los creadores de aplicaciones para esos escritorios.

Adwaita el nombre del lenguaje de diseño del entorno de escritorio GNOME y de su tema por defecto. Hasta 2021, el tema de Adwaita se incluyó como parte del kit de herramientas de widgets de GTK. A partir de ese año, se decidió mover los componentes a una nueva librería llamada Libadwaita que debe implementar las directivas de interfaz humana de GNOME.

Aparentemente las intenciones eran buenas Según Adrien Plazas, ingeniero de software de GTK y creador de aplicaciones para GNOME:

Esto permitiría que GTK crezca independientemente de GNOME, a un ritmo que se ajuste a sus necesidades. Podría reducir su enfoque en widgets más genéricos y en su maquinaria central, simplificando su soporte de temas en el proceso para hacerlo más flexible. Esto, a su vez, daría a otros usuarios de GTK un campo de juego parejo: desde el punto de vista de GTK, GNOME, Elementary e Inkscape no serían diferentes, y esa biblioteca hipotética de GNOME cumpliría el mismo rol que Granite de Elementary.

La introducción de esa biblioteca no debería hacer que GTK sea menos útil en otras plataformas, o hacer que las aplicaciones GTK sean más difíciles de construir (o más feas). Simplemente debería ser otra biblioteca con la que puede elegir vincular si desea que su aplicación encaje bien en GNOME.

Pero, ya sabemos de qué está pavimentado el camino al infierno.

El problema es que si instalas una aplicación que tiene Libadwaita como dependencia, la tendrás que usar con el tema predeterminado de Adwaita, sin opción para cambiar a un tema diferente. El resultado final es si usas un escritorio basado en GTK4 tus preferencias sobre temas serán ignoradas.

Según explica Joshua Strobl, responsable del escritorio Budgie:

…cuando un ingeniero de System76 propuso algunas mejoras a la API de cambio de color de libadwaita, que es su alternativa a la tematización que es específica para cambiar el color de varios elementos de las aplicaciones de GNOME y es específica de la aplicación (no de todo el sistema), estas mejoras fueron rechazadas sobre la base de que a algunos de los desarrolladores de GNOME no les gustaban las opiniones expresadas por el ingeniero en las redes sociales.

La solución propuesta habilitaba a los desarrolladores a hacer sus aplicaciones compatibles con una serie de temas. Sin embargo, desde GNOME argumentan que los temas de terceros reducen la calidad de las aplicaciones.

GNOME 42

GNOME 42 publicó su versión beta la semana pasada.  Entre sus novedades está el aumento de aplicaciones portadas a GTK4 y libadwaita, una función integrada de captura de pantalla (foto y video) y el nuevo panel Apariencia con soporte para estilos claros y oscuros.

Las primeras distribuciones importantes en traer GNOME 42 serán Fedora 36 (19 de abril) y Ubuntu 22.04 (21 de abril)

 

 

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.