Budgie Desktop pasa de las bibliotecas GTK a EFL por Enlightenment Project

Los desarrolladores del entorno de escritorio Budgie han decidido dejar de usar la biblioteca GTK en favor de las bibliotecas EFL (Biblioteca de la Fundación Enlightenment) desarrolladas por el proyecto Enlightenment. Los resultados de la migración se ofrecerán en el lanzamiento de Budgie 11. Es de destacar que este no es el primer intento de dejar de usar GTK: en 2017, el proyecto ya decidió cambiar a Qt, pero luego revisó los planes, en el Espero que esto cambie en GTK4.

Desafortunadamente, GTK4 no estuvo a la altura de las expectativas de los desarrolladores debido al continuo enfoque solo en las necesidades del proyecto GNOME, cuyos desarrolladores no escuchan las opiniones de proyectos alternativos y no están dispuestos a considerar sus necesidades. El principal impulso para alejarse de GTK fueron los planes de GNOME de cambiar la forma en que funciona con las máscaras, lo que dificulta la creación de máscaras personalizadas en proyectos de terceros. En particular, el estilo de la interfaz de la plataforma lo proporciona la biblioteca libadwaita, que está vinculada al tema Adwaita.

Los creadores de entornos de terceros que no quieran repetir por completo la interfaz de GNOME deberían preparar sus bibliotecas para el procesamiento de estilos, pero en este caso hay una inconsistencia en el diseño de las aplicaciones que usan la biblioteca alternativa y la biblioteca de temas de la plataforma. No hay medios nativos para agregar características adicionales a libadwaita, y no se pudo acordar los intentos de agregar una API de cambio de color que permitiría cambios de color fáciles en las aplicaciones debido a preocupaciones de que los temas que no son de Adwaita podrían afectar negativamente la calidad de las aplicaciones para GNOME y dificultar el análisis de problemas a los usuarios. Por lo tanto, los desarrolladores de escritorios alternativos se vieron atados al tema Adwaita.

Entre las características de GTK4 que causan descontento entre los desarrolladores de Budgie, la exclusión de la posibilidad de cambiar algunos widgets mediante la creación de subclases, el paso a la categoría de APIs X11 obsoletas que no son compatibles con Wayland (por ejemplo, en Budgie llama a GdkScreen y GdkX11Screen se usaron para determinar la conexión y cambiar la configuración de los monitores), problemas de desplazamiento en el widget GtkListView y falta de la capacidad de manejar eventos de mouse y teclado en GtkPopovers si la ventana no está enfocada.

Después de sopesar todos los pros y los contras de cambiar a kits de herramientas alternativos, los desarrolladores llegaron a la conclusión de que lo más óptimo es la transición del proyecto al uso de bibliotecas EFL. La transición a Qt se considera problemática debido a la vinculación de esta biblioteca a C ++ y la incertidumbre en la futura política de licencias. La mayor parte del código de Budgie está escrito en Vala, pero se permitió un kit de herramientas C o Rust como opciones de migración.

Para la distribución de Solus, el proyecto continuará generando una compilación alternativa basada en GNOME, pero esta compilación se marcará como no seleccionada por el proyecto y se ubicará en una sección separada en la página de descarga. Después del lanzamiento de Budgie 11, los desarrolladores evaluarán sus capacidades en comparación con GNOME Shell y decidirán si continúan construyendo la compilación de GNOME o se detienen, proporcionando herramientas para migrar a la compilación de Budgie 11 a análogos, incluidos los desarrollados dentro del proyecto. Por ejemplo, está previsto desarrollar su propio centro de instalación de aplicaciones.

Recuerde que el escritorio Budgie ofrece su propia implementación de GNOME Shell, panel, applets y sistema de notificación. Para administrar ventanas, se utiliza el administrador de ventanas Budgie Window Manager (BWM), que es una modificación extendida del complemento básico de Mutter. Budgie se basa en un panel que es similar en organización a los paneles de escritorio clásicos. Todos los elementos del panel son subprogramas, lo que le permite personalizar la composición de manera flexible, cambiar el diseño y reemplazar las implementaciones de los elementos del panel principal a su gusto. Los subprogramas disponibles incluyen el menú de aplicaciones clásico, el selector de tareas, el área de lista de ventanas abiertas, la vista de escritorio virtual, el indicador de administración de energía, el subprograma de control de volumen, el indicador de estado del sistema y el reloj.

Budgie Desktop pasa de las bibliotecas GTK a EFL por Enlightenment Project


Fuente: opennet.ru

Añadir un comentario