GTK 4.10 ya fue liberado y estas son sus novedades
Después de seis meses de desarrollo, se dio a conocer el lanzamiento de la nueva versión del kit de herramientas multiplataforma para crear una interfaz gráfica de usuario, «GTK 4.10.0».
La nueva rama de GTK 4 se está desarrollando bajo un nuevo proceso de desarrollo que intenta proporcionar a los desarrolladores de aplicaciones una API estable y compatible durante varios años, que se puede usar sin temor a que las aplicaciones deban volver a trabajarse cada seis meses debido a los cambios de API en el próximo GTK.
Principales novedades de GTK 4.10
En esta nueva versión que se presenta de GTK 4.10, se destaca que se agregaron nuevas clases GtkColorDialog, GtkFontDialog , GtkFileDialog y GtkAlertDialog con la implementación de diálogos para seleccionar colores, fuentes y archivos, mostrando alertas. Las nuevas opciones se distinguen por la transición a una API más consistente y equilibrada que funciona en modo asíncrono (GIO async). Los nuevos cuadros de diálogo hacen uso de los portales de Freedesktop (xdg-desktop-portal) siempre que sea posible y estén disponibles, que se utilizan para proporcionar acceso a los recursos del entorno del usuario desde las aplicaciones de espacio aislado.
Otra de las novedades que se destaca de la nueva versión, es que se ha agregado un nuevo backend CPDB (Common Printing Dialog Backend), que proporciona controladores genéricos para usar en los diálogos de impresión. El soporte para el backend de impresión lpr utilizado anteriormente ha quedado obsoleto.
En el widget GtkFileChooserWidget con la implementación del cuadro de diálogo abierto para seleccionar archivos en aplicaciones, se implementa el modo de presentar el contenido de los directorios en forma de una red de iconos. De forma predeterminada, se sigue utilizando la vista de lista de archivos clásica y ha aparecido un botón separado en el lado derecho del panel para cambiar al modo de icono.
La biblioteca GDK, que proporciona una capa entre GTK y el subsistema de gráficos, propone la estructura GdkTextureDownloader , que se usa para cargar texturas en la clase GdkTexture y se puede usar para convertir varios formatos, se ha mejorado el escalado de textura usando OpenGL.
Ademas de ello, la biblioteca GSK (GTK Scene Kit), que brinda la capacidad de renderizar escenas gráficas a través de OpenGL y Vulkan, admite nodos con máscaras y filtrado personalizado de texturas escalables.
Tambien se destaca que se ha implementado el soporte para nuevas versiones de las extensiones del protocolo Wayland, pues la salida fue mejorada en las notificaciones de inicio cuando se utiliza el protocolo «xdg-activation» y que se resolvieron problemas con el tamaño del cursor en pantallas con alta densidad de píxeles.
De los demás cambios que se destacan de la nueva versión:
- La clase GtkMountOperation se ha adaptado para trabajar en entornos que no sean X11.
- Se agregó soporte para ventanas modales al backend de Broadway, lo que le permite dibujar la salida de la biblioteca GTK en una ventana del navegador web
- La clase GtkFileLauncher propone una nueva API asíncrona para reemplazar gtk_show_uri
- Manejo mejorado de plantillas en gtk-builder-tool.
- El widget GtkSearchEntry ha agregado soporte para que se muestre texto de relleno cuando el campo está vacío y no hay foco de entrada.
- La clase GtkUriLauncher se agregó para reemplazar la función gtk_show_uri , que se usa para determinar qué aplicación iniciar para mostrar un URI determinado o para generar un error si no hay un controlador presente
- En la clase GtkStringSorter , se ha agregado soporte para varios métodos de «intercalacion» que permiten la intercalación y clasificación según el significado de los caracteres (por ejemplo, si hay un signo de acento).
- Una gran parte de las API y los widgets han quedado en desuso, que se decidió no admitir en la futura rama GTK5 y que se reemplazaron con análogos que funcionan en modo asíncrono
- Transferido a la interfaz pública GtkAccessible , que le permite conectar controladores de elementos de interfaz de terceros para personas con discapacidades. Se agregó la interfaz GtkAccessibleRange .
- En macOS, se proporciona soporte para arrastrar y soltar (DND, Drag-and-Drop).
- En Windows, se ha mejorado la integración con la configuración del sistema.
- Formato de salida de depuración unificado.
- El límite de memoria para el cargador de imágenes JPEG se elevó a 1 GB.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.