Lanzamiento de la biblioteca Libadwaita 1.5 para crear interfaces de estilo GNOME

El Proyecto GNOME ha publicado el lanzamiento de la biblioteca Libadwaita 1.5, que incluye un conjunto de componentes para diseñar la interfaz de usuario que cumple con las recomendaciones de 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. El código de la biblioteca está escrito en lenguaje C y se distribuye bajo la licencia LGPL 2.1+.

La biblioteca libadwaita se usa junto con GTK4 e incluye componentes de la máscara 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 cambios de estilo de forma 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.

Lanzamiento de la biblioteca Libadwaita 1.5 para crear interfaces de estilo GNOME

El principal cambio en libadwaita 1.5 fue la reelaboración de los widgets adaptativos para crear cuadros de diálogo que se ajustan al tamaño del área visible. A diferencia de los cuadros de diálogo tradicionales, que se encuentran en ventanas separadas, los cuadros de diálogo nuevos se representan en el lado del cliente, dentro de las ventanas existentes y no pueden extenderse más allá de la ventana principal. Este enfoque simplifica la creación de cuadros de diálogo universales que se pueden combinar con interfaces para sistemas móviles y de escritorio, y también proporciona opciones adicionales para administrar cuadros de diálogo (por ejemplo, no es necesario monitorear la salida del borde de la ventana, puede elegir el comportamiento de botones de cierre, la expansión automática a pantalla completa se proporciona en las versiones móviles de las aplicaciones, al atenuar el diálogo se tiene en cuenta el estilo de la ventana actual, no el sistema).

Lanzamiento de la biblioteca Libadwaita 1.5 para crear interfaces de estilo GNOMELanzamiento de la biblioteca Libadwaita 1.5 para crear interfaces de estilo GNOME

En el futuro, está previsto implementar otra versión de dichos cuadros de diálogo, vinculados no a ventanas, sino a pestañas dentro de la ventana, que pueden ser necesarias en aplicaciones como navegadores para que los cuadros de diálogo asociados con una pestaña no se superpongan a la ventana principal cuando cambiar entre pestañas.

Para dispositivos móviles, se ha implementado soporte para colocar diálogos en forma de hojas acopladas en la parte inferior de la pantalla (hojas inferiores), en lugar de en forma de hojas alineadas con el centro. Los cuadros de diálogo adjuntos en la parte inferior evitan que los usuarios se confundan al cerrar ventanas: en dichos cuadros de diálogo, parte de la ventana principal permanece visible y los botones para cerrar la ventana principal y el cuadro de diálogo en sí están claramente separados, por lo que ahora es difícil confundirlos.

Lanzamiento de la biblioteca Libadwaita 1.5 para crear interfaces de estilo GNOME

Los nuevos cuadros de diálogo se administran utilizando la clase AdwDialog, que en la mayoría de las situaciones es similar al uso de la clase GtkWindow, con la diferencia en las operaciones de visualización y cierre. Por ejemplo, la propiedad ":transient-for" se reemplazó con un parámetro en la función adw_dialog_present(), se agregó una nueva señal "::close-attempt" y se cambió el procesamiento del parámetro ":can-close". . En lugar de las clases AdwPreferencesWindow, AdwAboutWindow y AdwMessageDialog, se propone utilizar las clases AdwPreferencesDialog, AdwAboutDialog y AdwAlertDialog con nuevos cuadros de diálogo.

Los cuadros de diálogo que no tengan una ventana principal se seguirán tratando como ventanas independientes. Los cuadros de diálogo cuyas ventanas principales no se pueden usar para albergar cuadros de diálogo también funcionarán como ventanas, por ejemplo, si no permiten cambiar el tamaño o no tienen las clases AdwWindow y AdwApplicationWindow para ellos.

Cambios no relacionados con la reelaboración del diálogo en Libadwaita 1.5:

  • Se agregó la propiedad ":text-length" a la clase AdwEntryRow para limitar el tamaño del texto en el campo de entrada.
  • Se agregó el método remove_response() a la clase AdwMessageDialog.
  • Se ha agregado la capacidad de eliminar puntos de interrupción mediante programación a la clase AdwBreakpointBin, lo que le permite cambiar la interfaz de usuario de cualquier forma dependiendo del tamaño de la ventana.
  • Se agregó el indicador ":allow-window-handle" a la clase AdwSwipeTracker para permitir deslizar el dedo en la parte superior de la barra superior (usado en hojas adjuntas al borde inferior).
  • Aumentó el brillo de los colores utilizados al sombrear ventanas en un estilo de diseño oscuro.

Fuente: opennet.ru

Añadir un comentario