Libadwaita 1.3 llega con mejoras en pestañas, banners y mas
El Proyecto GNOME dio a conocer recientemente el lanzamiento de la biblioteca Libadwaita 1.3, que incluye un conjunto de componentes para diseñar la interfaz de usuario que cumple con GNOME HIG (Directrices de interfaz humana). La biblioteca incluye widgets y objetos listos para usar para crear aplicaciones que cumplan con el estilo general de GNOME, cuya interfaz se puede adaptar de forma receptiva a pantallas de cualquier tamaño.
La biblioteca libadwaita se usa junto con GTK4 e incluye componentes de la skin de Adwaita que se usa en GNOME que se han movido de GTK a una biblioteca separada.
Mover las imágenes de GNOME a una biblioteca separada permite que los cambios necesarios para GNOME se desarrollen por separado de GTK, lo que permite a los desarrolladores de GTK centrarse en lo básico y a los desarrolladores de GNOME impulsar sus propios cambios de estilo de manera más rápida y flexible sin afectar a GTK.
La biblioteca incluye widgets estándar que cubren varios elementos de la interfaz, como listas, paneles, bloques de edición, botones, pestañas, formularios de búsqueda, cuadros de diálogo, etc. Los widgets propuestos le permiten crear interfaces universales que funcionan sin problemas tanto en pantallas grandes de PC y portátiles como en pantallas táctiles pequeñas de teléfonos inteligentes.
La interfaz de la aplicación cambia dinámicamente según el tamaño de la pantalla y los dispositivos de entrada disponibles. La biblioteca también incluye un conjunto de estilos de Adwaita que aportan la apariencia a las pautas de GNOME sin necesidad de personalización manual.
Principales novedades de libadwaita 1.3
En esta nueva versión que se presenta de Libadwaita 1.3, se ha implementado el widget AdwBanner, que se puede usar en lugar del widget GTK GtkInfoBar para mostrar ventanas de banner que contienen un título y un botón opcional. El contenido del widget se transforma según el tamaño y la animación se puede aplicar al mostrar y ocultar.
Ademas de ello, tambien se destaca que se ha agregado el widget AdwTabOverview, diseñado para una descripción general visual de las pestañas o páginas que se muestran usando la clase AdwTabView. El nuevo widget se puede utilizar para organizar la navegación por pestañas en dispositivos móviles sin crear su propia implementación de conmutador.
De manera predeterminada, la pestaña seleccionada tiene una miniatura en vivo y otras miniaturas son estáticas, pero las aplicaciones pueden optar por usar miniaturas en vivo para páginas específicas. También pueden controlar la alineación de las miniaturas en caso de que se recorten.
Tambien, se menciona que se agregó un widget AdwTabButton para mostrar botones con información sobre la cantidad de pestañas abiertas en AdwTabView que se pueden usar en un dispositivo móvil para abrir el modo de navegación de pestañas.
Ademas de ello, ahora los widgets AdwViewStack, AdwTabView y AdwEntryRow ahora admiten herramientas de accesibilidad, ademas de que se ha agregado una propiedad a la clase AdwAnimation para ignorar la desactivación de animaciones en la configuración del sistema.
De los demás cambios que se destacan de esta nueva versión:
- La clase AdwActionRow ahora tiene la capacidad de seleccionar subtítulos.
- Las propiedades title-lines y subtitle-lines se agregaron a la clase AdwExpanderRow.
- El método grab_focus_without_selecting() se ha agregado a la clase AdwEntryRow, por analogía con GtkEntry.
- El método async choose() se ha agregado a la clase AdwMessageDialog, similar a GtkAlertDialog .
- Se agregaron llamadas API de arrastrar y soltar a la clase AdwTabBar.
- Dado que GTK ahora permite cambiar el filtrado de texturas,
AdwAvatar
escala correctamente las imágenes personalizadas, por lo que no aparecen pixeladas cuando se reducen o borrosas cuando se amplían. - Se agregó la capacidad de usar estilo oscuro y modo de alto contraste cuando se trabaja en la plataforma Windows.
- Los elementos seleccionados de la lista y la cuadrícula ahora se resaltan con el color utilizado para resaltar los elementos activos (acento).
Finalmente, si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace. Tambien cabe mencionar que el código de la biblioteca está escrito en lenguaje C y se distribuye bajo la licencia LGPL 2.1+.