Ya fue liberada la nueva version de GTK 4.8.0 y llegan con diversas mejoras para Linux
Después de ocho meses de desarrollo se dio a conocer el lanzamiento de la nueva versión de GTK 4.8.0, que continúa con el desarrollo de la rama GTK 4.x 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.
Para quienes desconocen de GTK, debe saber que esta es una biblioteca de componentes gráficos multiplataforma para desarrollar interfaces gráficas de usuario (GUI) Está licenciado bajo los términos de la GNU LGPL, por lo que permite la creación de tanto software libre como software privativo.
Principales novedades de GTK 4.8
En esta nueva versión que se presenta, la biblioteca GDK, que proporciona una capa entre GTK y el subsistema de gráficos, ha optimizado la conversión de formatos de píxeles. En sistemas con controladores NVIDIA, la extensión EGL EGL_KHR_swap_buffers_with_damage está habilitada.
La biblioteca GSK, que brinda la capacidad de renderizar escenas gráficas a través de OpenGL y Vulkan, admite el procesamiento de grandes áreas visibles (viewports), además de que se proponen bibliotecas para dibujar glifos utilizando texturas.
Para Linux en Wayland, se implementa soporte para el protocolo «xdg-activation», que permite transferir el enfoque entre diferentes superficies de primer nivel (por ejemplo, al usar xdg-activation, una aplicación puede cambiar el enfoque a otra).
En GTK 4.8 el widget GtkTextView ha reducido la cantidad de situaciones que conducen a redibujados repetidos e implementó la función GetCharacterExtents para determinar el área con un glifo que define un carácter en el texto (una función solicitada por herramientas para personas con discapacidades).
La clase GtkViewport, que se utiliza para organizar el desplazamiento en los widgets, tiene habilitado el modo «desplazarse para enfocar» de forma predeterminada, en el que el contenido se desplaza automáticamente para mantener la vista del elemento que tiene el foco de entrada.
El widget GtkSearchEntry, que muestra el área para ingresar una consulta de búsqueda, ofrece la posibilidad de configurar el retraso entre la última pulsación de tecla y el envío de una señal de cambio de contenido (GtkSearchEntry::search-changed).
Además de ello, también en GTK 4.8 se destacan las capacidades ampliadas del depurador, pues se implementó la visualización de datos de aplicaciones adicionales y se permitió la visualización de las propiedades de PangoAttrList durante la inspección.
También se destaca que el motor CSS ha optimizado la reagrupación de elementos asociados con el mismo padre y permitió el uso de valores no enteros al determinar el tamaño del espacio entre letras.
Para macOS, se agregó soporte para el modo de pantalla completa y la reproducción de video usando OpenGL, así como también la detección de monitores mejorados, se trabajó en configuraciones de monitores múltiples, colocación de ventanas y selección de tamaño para el cuadro de diálogo de archivo, también se permitió que las aplicaciones se ejecutaran en segundo plano.
En Windows, se mejoró la ubicación de las ventanas en las pantallas HiDPI, se agregó una interfaz de detección de color, se implementó la compatibilidad con eventos de rueda de mouse de alta resolución y se mejoró la compatibilidad con el panel táctil.
De los demás cambios que se destacan:
- Datos de emoji actualizados al conjunto CLDR 40 (Unicode 14).
- Se agregó soporte para nuevas configuraciones regionales.
- El comando de captura de pantalla se agregó a la utilidad gtk4-builder-tool para crear una captura de pantalla, que se usa cuando se generan capturas de pantalla para la documentación.
- La interfaz del selector de fuentes (GtkFontChooser) ha mejorado la compatibilidad con las funciones de formato OpenType.
- El widget GtkCheckButton ahora tiene la capacidad de asignar su propio widget secundario con un botón.
- La propiedad «content-fit» se ha agregado al widget GtkPicture para ajustar el contenido a un tamaño de área determinado.
- El rendimiento de desplazamiento se ha optimizado en el widget GtkColumnView.
- Se ha instalado la utilidad gtk4-node-editor.
- Se ha agregado soporte de sonido al backend de ffmpeg.
- El límite de memoria en el cargador de imágenes JPEG se ha aumentado a 300 MB.
- Se cambió el estilo de la interfaz del selector de color (GtkColorChooser).
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.