Despois de seis meses de desenvolvemento, publicouse o lanzamento dun kit de ferramentas multiplataforma para crear unha interface gráfica de usuario: GTK 4.10.0. GTK 4 está a ser desenvolvido como parte dun novo proceso de desenvolvemento que tenta proporcionar aos desenvolvedores de aplicacións unha API estable e compatible durante varios anos que se pode usar sen o medo a ter que reescribir aplicacións cada seis meses debido aos cambios da API no próximo GTK. rama.
Algunhas das melloras máis notables en GTK 4.10 inclúen:
- O widget GtkFileChooserWidget, que implementa un diálogo que se abre para seleccionar ficheiros en aplicacións, implementa un modo para presentar o contido do directorio en forma de rede de iconas. Por defecto, a vista clásica en forma de lista de ficheiros segue usándose e apareceu un botón separado no lado dereito do panel para cambiar ao modo de icona. iconas:
- Engadíronse novas clases GtkColorDialog, GtkFontDialog, GtkFileDialog e GtkAlertDialog coa implementación de diálogos para seleccionar cores, fontes e ficheiros e mostrar avisos. As novas opcións distínguense por unha transición a unha API máis holística e equilibrada que funciona en modo asíncrono (GIO asincrónico). Nos novos diálogos, sempre que sexa posible e dispoñible, utilízanse portais Freedesktop (xdg-desktop-portal), que se utilizan para organizar o acceso aos recursos da contorna de usuario desde aplicacións illadas.
- Engadiuse un novo CPDB (Common Printing Dialog Backend), que proporciona controladores estándar para usar nos diálogos de impresión. O backend de impresión lpr usado anteriormente foi descontinuado.
- A biblioteca GDK, que proporciona unha capa entre GTK e o subsistema de gráficos, ofrece a estrutura GdkTextureDownloader, que se usa para cargar texturas na clase GdkTexture e pode usarse para converter varios formatos. Escalado de texturas mellorado usando OpenGL.
- A biblioteca GSK (GTK Scene Kit), que ofrece a capacidade de renderizar escenas gráficas a través de OpenGL e Vulkan, admite nós con máscaras e filtrado personalizado de texturas escalables.
- Implementouse o soporte para novas versións das extensións do protocolo Wayland. Axustouse a saída das notificacións de inicio cando se utiliza o protocolo "xdg-activation". Resolveuse problemas co tamaño do cursor en pantallas de alta densidade de píxeles.
- A clase GtkMountOperation está adaptada para traballar en ambientes que non sexan X11.
- O backend de Broadway, que che permite renderizar a saída da biblioteca GTK nunha xanela do navegador web, engadiu soporte para as fiestras modais.
- A clase GtkFileLauncher ofrece unha nova API asíncrona para substituír gtk_show_uri.
- A utilidade gtk-builder-tool mellorou o procesamento de modelos.
- O widget GtkSearchEntry engadiu soporte para o texto de recheo, que se mostra cando o campo está baleiro e non hai un foco de entrada.
- Engadiuse a clase GtkUriLauncher, que substitúe a función gtk_show_uri, usada para determinar a aplicación iniciada para mostrar un URI determinado ou lanzar un erro se non hai un controlador.
- A clase GtkStringSorter engadiu compatibilidade con varios métodos de "intercalación", o que lle permite realizar coincidencias e clasificacións en función do significado dos caracteres (por exemplo, cando hai unha marca de acento).
- Unha gran parte das API e widgets quedaron en desuso, que se decidiu non admitir na futura rama GTK5 e que foron substituídas por análogos que funcionan en modo asíncrono:
- GtkDialog (debe usar GtkWindow).
- GtkTreeView (deben usarse GtkListView e GtkColumnView) .
- GtkIconView (debe usar GtkGridView).
- GtkComboBox (debe usarse GtkDropDown).
- GtkAppChooser (debe usarse GtkDropDown).
- GtkMessageDialog (debe usarse GtkAlertDialog).
- GtkColorChooser (debe usar GtkColorDialog e GtkColorDialogButton).
- GtkFontChooser (debe usar GtkFontDialog e GtkFontDialogButton).
- GtkFileChooser (debe usar GtkFileDialog).
- GtkInfoBar
- GtkEntryCompletion
- GtkStyleContext
- GtkVolumeButton
- GtkStatusbar
- GtkAssistant
- GtkLockButton
- gtk_widget_show/hide
- gtk_show_uri
- gtk_render_ e gtk_snapshot_render_
- gtk_gesture_set_sequence_state
- A interface GtkAccessible foi transferida á categoría pública, que permite conectar controladores de elementos de interface de terceiros para persoas con discapacidade. Engadida a interface GtkAccessibleRange.
- A plataforma macOS ofrece soporte para arrastrar elementos co rato (DND, arrastrar e soltar).
- Na plataforma Windows, mellorouse a integración coa configuración do sistema.
- Unificouse o formato de saída de depuración.
- O límite de memoria para o cargador de imaxes JPEG elevouse a 1 GB.
Fonte: opennet.ru