Uitgave van de Libadwaita 1.0-bibliotheek voor het maken van interfaces in GNOME-stijl

Het GNOME Project heeft de eerste stabiele release van de Libadwaita-bibliotheek gepubliceerd, die een reeks componenten bevat voor de styling van de gebruikersinterface die de GNOME HIG (Human Interface Guidelines) volgt. De bibliotheek bevat kant-en-klare widgets en objecten voor het bouwen van applicaties die voldoen aan de algemene GNOME-stijl, waarvan de interface adaptief kan worden aangepast aan schermen van elk formaat. De bibliotheekcode is geschreven in C en wordt gedistribueerd onder de LGPL 2.1+ licentie.

Uitgave van de Libadwaita 1.0-bibliotheek voor het maken van interfaces in GNOME-stijl

De libadwaita-bibliotheek wordt gebruikt in combinatie met GTK4 en bevat componenten van het Adwaita-thema dat in GNOME wordt gebruikt en die uit GTK naar een aparte bibliotheek zijn verplaatst. De libadwaita-code is gebaseerd op de libhandy-bibliotheek en is gepositioneerd als opvolger van deze bibliotheek, die oorspronkelijk is gemaakt om een ​​adaptieve interface te bouwen in mobiele platforms op basis van GNOME-technologieën, en werd aangescherpt in de Phosh GNOME-omgeving voor de Librem 5-smartphone.

De bibliotheek bevat standaardwidgets die verschillende interface-elementen bestrijken, zoals lijsten, panelen, bewerkingsblokken, knoppen, tabbladen, zoekformulieren, dialoogvensters, enz. Met de voorgestelde widgets kunt u universele interfaces creëren die naadloos functioneren, zowel op grote pc- en laptopschermen als op kleine touchscreens van smartphones. De applicatie-interface verandert dynamisch, afhankelijk van de schermgrootte en beschikbare invoerapparaten. De bibliotheek bevat ook een reeks Adwaita-stijlen die het uiterlijk in overeenstemming brengen met de GNOME-richtlijnen zonder dat handmatige aanpassing nodig is.

Door GNOME-stijlelementen naar een aparte bibliotheek te verplaatsen, kunnen GNOME-specifieke wijzigingen afzonderlijk van GTK worden ontwikkeld, waardoor GTK-ontwikkelaars zich kunnen concentreren op de kernzaken en GNOME-ontwikkelaars sneller en flexibeler de stijlveranderingen kunnen doorvoeren die ze willen, zonder dat dit gevolgen heeft voor GTK zelf. Deze aanpak schept echter problemen voor ontwikkelaars van op GTK gebaseerde gebruikersomgevingen van derden, die gedwongen worden óf libadwaita te gebruiken en zich aan te passen aan de functies van GNOME en het ontwerp ervan te repliceren, óf hun eigen versie van de GTK-stijlbibliotheek te ontwikkelen en de uiterlijk van GNOME-applicaties heterogeen in omgevingen gebaseerd op stijlbibliotheken van derden.

De belangrijkste klacht van externe raamwerkontwikkelaars betreft problemen met het overschrijven van de kleuren van interface-elementen, maar de libadwaita-ontwikkelaars werken aan het leveren van een API voor flexibel kleurbeheer, die in een toekomstige release zal worden opgenomen. Onder de onopgeloste problemen wordt ook de correcte werking van gebarenbedieningswidgets alleen op aanraakschermen genoemd - voor touchpads zal de correcte werking van dergelijke widgets later worden gegarandeerd, omdat ze wijzigingen aan GTK vereisen.

Grote veranderingen in libadwaita vergeleken met libhandy:

  • Volledig opnieuw ontworpen reeks stijlen. Het Adwaita-thema dat in GNOME wordt gebruikt, is uit GTK verwijderd en gemoderniseerd, en het oude thema is in GTK hersteld onder de naam "Default". Een van de meest opvallende verschillen tussen libadwaita en het “Default”-thema is de verandering in het ontwerp van de vensterkoppen.
    Uitgave van de Libadwaita 1.0-bibliotheek voor het maken van interfaces in GNOME-stijl
  • De mechanismen voor het binden van kleuren aan elementen en het veranderen van kleuren terwijl de applicatie actief is, zijn veranderd (de problemen zijn te wijten aan het feit dat libadwaita is overgestapt op SCSS, wat een herbouw vereist om kleuren te veranderen). Om de kleuren van elementen te wijzigen, wat bijvoorbeeld vereist is in GNOME Web om de overgang naar de incognitomodus te markeren, wordt de methode gebruikt die wordt voorgesteld in het elementaire besturingssysteem en is gebaseerd op het specificeren van een vaste lijst met benoemde kleuren via “@define-color”. De kleuren van veel interface-elementen worden nu echter berekend ten opzichte van de basistekstkleur en veranderen automatisch, waardoor applicaties het kleurenschema niet volledig kunnen controleren (ontwikkelaars werken eraan om deze beperking te elimineren).
    Uitgave van de Libadwaita 1.0-bibliotheek voor het maken van interfaces in GNOME-stijlUitgave van de Libadwaita 1.0-bibliotheek voor het maken van interfaces in GNOME-stijl
  • De weergavekwaliteit is verbeterd bij gebruik van donkere thema's vanwege meer contrasterende accentuering van elementen. De accentkleur is helderder gemaakt en er is een andere accentkleur toegevoegd, die kan veranderen voor donkere en lichte thema's.
    Uitgave van de Libadwaita 1.0-bibliotheek voor het maken van interfaces in GNOME-stijlUitgave van de Libadwaita 1.0-bibliotheek voor het maken van interfaces in GNOME-stijl
  • Een groot deel van de nieuwe stijlklassen toegevoegd voor gebruik in toepassingen. Bijvoorbeeld ".pill" voor grote ronde knoppen, de mogelijkheid om ".flat" te gebruiken in GtkHeaderBar, ".accent" voor het instellen van een accentkleur in labels, ".numeric" voor tabeltypografie, ".card" voor het gebruik van achtergrond en schaduw zoals in lijsten.
    Uitgave van de Libadwaita 1.0-bibliotheek voor het maken van interfaces in GNOME-stijl
  • Grote monolithische SCSS-bestanden zijn onderverdeeld in een verzameling kleinere stijlbestanden.
  • API toegevoegd voor het instellen van een donkere ontwerpstijl en een hoog contrastmodus.
    Uitgave van de Libadwaita 1.0-bibliotheek voor het maken van interfaces in GNOME-stijl
  • De documentatie is herwerkt; de gi-docgen toolkit wordt nu gebruikt om deze te genereren.
    Uitgave van de Libadwaita 1.0-bibliotheek voor het maken van interfaces in GNOME-stijl
  • Er is een animatie-API toegevoegd, die kan worden gebruikt om overgangseffecten te creëren bij het vervangen van de ene staat door een andere, en om lente-animatie te creëren.
    Uitgave van de Libadwaita 1.0-bibliotheek voor het maken van interfaces in GNOME-stijl
  • Voor tabbladen gebaseerd op AdwViewSwitcher is de mogelijkheid toegevoegd om labels weer te geven met het aantal niet-bekeken meldingen.
    Uitgave van de Libadwaita 1.0-bibliotheek voor het maken van interfaces in GNOME-stijl
  • AdwApplication-klasse toegevoegd (subklasse van GtkApplication) om Libadwaita automatisch te initialiseren en stijlen te laden.
  • Er is een selectie van widgets toegevoegd om de standaardbewerkingen te vereenvoudigen: AdwWindowTitle voor het instellen van de venstertitel, AdwBin om het maken van onderliggende subklassen te vereenvoudigen, AdwSplitButton voor gecombineerde knoppen, AdwButtonContent voor knoppen met een pictogram en een label.
  • API gereinigd.

Bron: opennet.ru

Voeg een reactie