Lançamento da biblioteca Libadwaita 1.0 para criar interfaces no estilo GNOME

O Projeto GNOME publicou a primeira versão estável da biblioteca Libadwaita, que inclui um conjunto de componentes para estilo de interface de usuário que segue o GNOME HIG (Diretrizes de Interface Humana). A biblioteca inclui widgets e objetos prontos para a construção de aplicativos que atendem ao estilo geral do GNOME, cuja interface pode ser ajustada de forma adaptativa a telas de qualquer tamanho. O código da biblioteca é escrito em C e distribuído sob a licença LGPL 2.1+.

Lançamento da biblioteca Libadwaita 1.0 para criar interfaces no estilo GNOME

A biblioteca libadwaita é usada em conjunto com GTK4 e inclui componentes do tema Adwaita usado no GNOME, que foram movidos do GTK para uma biblioteca separada. O código libadwaita é baseado na biblioteca libhandy e se posiciona como sucessor desta biblioteca, que foi originalmente criada para construir uma interface adaptativa em plataformas móveis baseadas em tecnologias GNOME, e foi aprimorada no ambiente Phosh GNOME para o smartphone Librem 5.

A biblioteca inclui widgets padrão que abrangem vários elementos da interface, como listas, painéis, blocos de edição, botões, guias, formulários de pesquisa, caixas de diálogo, etc. Os widgets propostos permitem criar interfaces universais que funcionam perfeitamente tanto em telas grandes de PCs e laptops quanto em pequenas telas sensíveis ao toque de smartphones. A interface do aplicativo muda dinamicamente dependendo do tamanho da tela e dos dispositivos de entrada disponíveis. A biblioteca também inclui um conjunto de estilos Adwaita que trazem a aparência das diretrizes do GNOME sem a necessidade de personalização manual.

Mover os elementos de estilo do GNOME para uma biblioteca separada permite que mudanças específicas do GNOME sejam desenvolvidas separadamente do GTK, permitindo que os desenvolvedores do GTK se concentrem nas coisas principais e os desenvolvedores do GNOME promovam com mais rapidez e flexibilidade as mudanças de estilo que desejam, sem afetar o próprio GTK. No entanto, esta abordagem cria dificuldades para desenvolvedores de ambientes de usuários de terceiros baseados em GTK, que são forçados a usar libadwaita e se adaptar aos recursos do GNOME e replicar seu design, ou desenvolver sua própria versão da biblioteca de estilo GTK e aceitar o aparência de aplicativos GNOME heterogêneos em ambientes baseados em bibliotecas de estilo de terceiros.

A principal reclamação dos desenvolvedores de frameworks terceirizados diz respeito a problemas com a substituição das cores dos elementos da interface, mas os desenvolvedores do libadwaita estão trabalhando para fornecer uma API para gerenciamento flexível de cores, que será incluída em uma versão futura. Entre os problemas não resolvidos, também é mencionado o correto funcionamento dos widgets de controle por gestos apenas em telas sensíveis ao toque - para touchpads, o correto funcionamento de tais widgets será garantido posteriormente, pois requerem alterações no GTK.

Principais mudanças no libadwaita em comparação com o libhandy:

  • Conjunto de estilos completamente redesenhado. O tema Adwaita usado no GNOME foi removido do GTK e modernizado, e o tema antigo foi corrigido no GTK com o nome “Default”. Uma das diferenças mais notáveis ​​entre libadwaita e o tema “Padrão” é a mudança no design dos cabeçalhos das janelas.
    Lançamento da biblioteca Libadwaita 1.0 para criar interfaces no estilo GNOME
  • Os mecanismos de vinculação de cores a elementos e alteração de cores durante a execução da aplicação foram alterados (os problemas se devem ao fato de libadwaita ter mudado para SCSS, o que requer uma reconstrução para alterar as cores). Para alterar as cores dos elementos, o que é necessário, por exemplo, no GNOME Web para marcar a transição para o modo de navegação anônima, é utilizado o método proposto no elementary OS e se baseia na especificação de uma lista fixa de cores nomeadas via “@define-color”. No entanto, as cores de muitos elementos da interface agora são calculadas em relação à cor base do texto e mudam automaticamente, o que não permite que os aplicativos controlem totalmente o esquema de cores (os desenvolvedores estão trabalhando para eliminar essa limitação).
    Lançamento da biblioteca Libadwaita 1.0 para criar interfaces no estilo GNOMELançamento da biblioteca Libadwaita 1.0 para criar interfaces no estilo GNOME
  • A qualidade de exibição foi aumentada ao usar temas escuros devido ao realce mais contrastante dos elementos. A cor de destaque ficou mais brilhante e outra cor de destaque foi adicionada, que pode mudar para temas claros e escuros.
    Lançamento da biblioteca Libadwaita 1.0 para criar interfaces no estilo GNOMELançamento da biblioteca Libadwaita 1.0 para criar interfaces no estilo GNOME
  • Adicionada uma grande parte de novas classes de estilo para uso em aplicativos. Por exemplo, ".pill" para botões grandes e arredondados, a capacidade de usar ".flat" em GtkHeaderBar, ".accent" para definir uma cor de destaque em rótulos, ".numeric" para tipografia de tabela, ".card" para usar plano de fundo e sombra como nas listas.
    Lançamento da biblioteca Libadwaita 1.0 para criar interfaces no estilo GNOME
  • Grandes arquivos SCSS monolíticos são divididos em uma coleção de arquivos de estilo menores.
  • Adicionada API para definir estilo de design escuro e modo de alto contraste.
    Lançamento da biblioteca Libadwaita 1.0 para criar interfaces no estilo GNOME
  • A documentação foi reformulada; o kit de ferramentas gi-docgen agora é usado para gerá-la.
    Lançamento da biblioteca Libadwaita 1.0 para criar interfaces no estilo GNOME
  • Foi adicionada uma API de animação que pode ser usada para criar efeitos de transição ao substituir um estado por outro, bem como para criar animação de primavera.
    Lançamento da biblioteca Libadwaita 1.0 para criar interfaces no estilo GNOME
  • Para guias baseadas em AdwViewSwitcher, foi adicionada a capacidade de exibir rótulos com o número de notificações não visualizadas.
    Lançamento da biblioteca Libadwaita 1.0 para criar interfaces no estilo GNOME
  • Adicionada classe AdwApplication (subclasse de GtkApplication) para inicializar automaticamente Libadwaita e carregar estilos.
  • Uma seleção de widgets foi adicionada para simplificar as operações padrão: AdwWindowTitle para definir o título da janela, AdwBin para simplificar a criação de subclasses filhas, AdwSplitButton para botões combinados, AdwButtonContent para botões com ícone e rótulo.
  • API limpa.

Fonte: opennet.ru

Adicionar um comentário