O desktop Budgie muda das bibliotecas GTK para EFL do projeto Enlightenment

Os desenvolvedores do ambiente de desktop Budgie decidiram deixar de usar a biblioteca GTK em favor das bibliotecas EFL (Enlightenment Foundation Library) desenvolvidas pelo projeto Enlightenment. Os resultados da migração serão oferecidos no lançamento do Budgie 11. Vale ressaltar que esta não é a primeira tentativa de deixar de usar GTK - em 2017, o projeto já decidiu migrar para Qt, mas posteriormente revisou seus planos, na esperança de que a situação mudasse no GTK4.

Infelizmente, GTK4 não correspondeu às expectativas dos desenvolvedores devido ao foco contínuo apenas nas necessidades do projeto GNOME, cujos desenvolvedores não ouvem as opiniões de projetos alternativos e não estão dispostos a levar em conta suas necessidades. O principal impulso para se afastar do GTK foram os planos do GNOME de mudar a forma como ele lida com skins, o que torna difícil a criação de skins personalizadas em projetos de terceiros. Em particular, o estilo de interface da plataforma é fornecido pela biblioteca libadwaita, que está vinculada ao tema de design Adwaita.

Criadores de ambientes terceiros que não queiram replicar completamente a interface do GNOME devem preparar suas bibliotecas para lidar com o estilo, mas neste caso há uma discrepância no design das aplicações que utilizam a biblioteca alternativa e a biblioteca de temas da plataforma. Não existem ferramentas padrão para adicionar recursos adicionais ao libadwaita, e tentativas de adicionar uma API Recoloring, que facilitaria a alteração de cores em aplicativos, não puderam ser acordadas devido a preocupações de que outros temas além do Adwaita poderiam afetar negativamente a qualidade do aplicativos para GNOME e complicam a análise de problemas dos usuários. Assim, os desenvolvedores de desktops alternativos ficaram presos ao tema Adwaita.

Entre as funcionalidades do GTK4 que causam insatisfação entre os desenvolvedores do Budgie estão a exclusão da possibilidade de alteração de alguns widgets através da criação de subclasses, a transferência para a categoria de APIs X11 obsoletas que não são compatíveis com Wayland (por exemplo, no Budgie chama GdkScreen e GdkX11Screen foram usados ​​para determinar a conexão e alterar a configuração dos monitores), problemas de rolagem no widget GtkListView e perda da capacidade de manipular eventos de mouse e teclado em GtkPopovers se a janela não estiver em foco.

Depois de pesar todos os prós e contras de mudar para kits de ferramentas alternativos, os desenvolvedores chegaram à conclusão de que a opção mais ideal é mudar o projeto para o uso de bibliotecas EFL. A transição para Qt é considerada problemática devido à biblioteca ser baseada em C++ e à incerteza na futura política de licenciamento. A maior parte do código do Budgie foi escrita em Vala, mas um kit de ferramentas C ou Rust estava disponível como opções de migração.

Quanto à distribuição Solus, o projeto continuará a criar uma compilação alternativa baseada no GNOME, mas esta compilação será marcada como não supervisionada pelo projeto e destacada em uma seção separada na página de download. Assim que o Budgie 11 for lançado, os desenvolvedores avaliarão seus recursos em comparação com o GNOME Shell e decidirão se devem continuar a construir uma compilação com o GNOME ou parar, fornecendo ferramentas para migração para uma compilação com o Budgie 11. Na compilação Solus com o desktop Budgie 11, está prevista a revisão da composição dos aplicativos, substituindo os aplicativos GNOME por análogos, inclusive os desenvolvidos no âmbito do projeto. Por exemplo, está planejado desenvolver nosso próprio centro de instalação de aplicativos.

Lembre-se de que o desktop Budgie oferece sua própria implementação do GNOME Shell, painel, miniaplicativos e sistema de notificação. Para gerenciar janelas, é usado o gerenciador de janelas Budgie Window Manager (BWM), que é uma modificação estendida do plugin Mutter básico. Budgie é baseado em um painel com organização semelhante aos painéis clássicos de desktop. Todos os elementos do painel são miniaplicativos, o que permite personalizar com flexibilidade a composição, alterar o posicionamento e substituir as implementações dos elementos principais do painel ao seu gosto. Os miniaplicativos disponíveis incluem o menu clássico do aplicativo, sistema de alternância de tarefas, área de lista de janelas abertas, visualizador de área de trabalho virtual, indicador de gerenciamento de energia, miniaplicativo de controle de volume, indicador de status do sistema e relógio.

O desktop Budgie muda das bibliotecas GTK para EFL do projeto Enlightenment


Fonte: opennet.ru

Adicionar um comentário