Libadwaita 1.2 ya fue liberado e incluye diversas mejoras
El Proyecto GNOME ha publicado el lanzamiento de la biblioteca Libadwaita 1.2, 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 de 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.2
En la nueva versión que se presenta se ha añadido el widget Adw.EntryRow para ser utilizado como elemento de listas. El widget proporciona un campo de entrada y un encabezado con la capacidad de adjuntar widgets adicionales antes y después del campo de entrada (por ejemplo, botones de confirmación de entrada o un indicador de que los datos se pueden editar). Además, está disponible la variante Adw.PasswordEntryRow, diseñada para ingresar contraseñas.
Ademas de ello se agregó el widget Adw.MessageDialog para mostrar un cuadro de diálogo con un mensaje o una pregunta. El Widget es un reemplazo extendido para Gtk.MessageDialog, que puede ajustar el diseño de los elementos al tamaño de la ventana.
Por ejemplo, en ventanas anchas, los botones se pueden mostrar en una línea y en ventanas estrechas se pueden dividir en varias columnas. Otra diferencia es que el widget no es un elemento secundario de la clase GtkDialog y proporciona una API completamente nueva que no está vinculada a los tipos de botones GtkResponseType predefinidos (en Adw.MessageDialog, todas las acciones son manejadas por la aplicación), lo que facilita la inserción otros widgets que usan la propiedad extra-child y brindan estilos separados para el título y el cuerpo del texto.
Ademas de ello, tambien sé destaca que se agregó el widget Adw.AboutWindow para mostrar una ventana con información sobre el programa. El widget reemplaza a Gtk.AboutDialog y presenta un diseño receptivo y secciones de ayuda extendidas, como registro de cambios, cuadro de agradecimiento, información de licencia de terceros, enlaces a recursos de información y datos de depuración.
Tambien se destaca que se han ampliado las capacidades de los widgets Adw.TabView y Adw.TabBar, en los que se ha rediseñado el mecanismo de procesamiento de teclas de acceso rápido para resolver el problema con el trabajo de combinaciones que se cruzan con los controladores GTK4 (por ejemplo, Ctrl+Tab). La nueva versión también ofrece una propiedad para establecer información sobre herramientas para indicadores y botones de pestañas.
Por otra parte, se presenta una disminución de la altura de los divisores verticales, lo que permite que la barra de título y la barra de búsqueda eliminen los bordes claros que distraen a favor de los bordes oscuros establecidos con @headerbar_shade_color y agregue un estilo de fondo que coincida con los paneles de encabezado.
De los demás cambios que se destacan de esta nueva versión:
- La clase de estilo «.large-title» ha quedado obsoleta y se debe usar «.title-1» en su lugar
- Reducción del relleno en el widget Adw.ActionRow para acercar su apariencia a los paneles y al widget Adw.EntryRow.
- Se agregó la clase Adw.PropertyAnimationTarget para facilitar la animación de las propiedades de los objetos.
- El estilo de la barra de pestañas (Adw.TabBar) se ha cambiado significativamente: la pestaña activa se resalta más claramente y se ha aumentado el contraste de los elementos en la opción de diseño oscuro.
- Los widgets Gtk.Actionbar y Adw.ViewSwitcherBar usan los mismos estilos que la barra de título, la barra de búsqueda y la barra de pestañas.
Finalmente si estás interesado en poder conocer más al respecto puedes consultar los detalles en el siguiente enlace.