Utgivelse av Libadwaita 1.0-biblioteket for å lage grensesnitt i GNOME-stil

GNOME-prosjektet har publisert den første stabile utgivelsen av Libadwaita-biblioteket, som inkluderer et sett med komponenter for brukergrensesnittstiling som følger GNOME HIG (Human Interface Guidelines). Biblioteket inkluderer ferdige widgets og objekter for å bygge applikasjoner som er i samsvar med den generelle GNOME-stilen, hvis grensesnitt kan tilpasses skjermer av alle størrelser. Bibliotekkoden er skrevet i C og distribueres under LGPL 2.1+-lisensen.

Utgivelse av Libadwaita 1.0-biblioteket for å lage grensesnitt i GNOME-stil

Libadwaita-biblioteket brukes i forbindelse med GTK4 og inkluderer komponenter av Adwaita-temaet brukt i GNOME, som er flyttet ut av GTK til et eget bibliotek. Libadwaita-koden er basert på libhandy-biblioteket og er posisjonert som en etterfølger til dette biblioteket, som opprinnelig ble opprettet for å bygge et adaptivt grensesnitt i mobile plattformer basert på GNOME-teknologier, og ble finpusset i Phosh GNOME-miljøet for Librem 5-smarttelefonen.

Biblioteket inkluderer standard widgets som dekker ulike grensesnittelementer, som lister, paneler, redigeringsblokker, knapper, faner, søkeskjemaer, dialogbokser, etc. De foreslåtte widgetene lar deg lage universelle grensesnitt som fungerer sømløst både på store PC- og bærbare skjermer, og på små berøringsskjermer på smarttelefoner. Applikasjonsgrensesnittet endres dynamisk avhengig av skjermstørrelsen og tilgjengelige inngangsenheter. Biblioteket inkluderer også et sett med Adwaita-stiler som bringer utseendet i tråd med GNOME-retningslinjene uten behov for manuell tilpasning.

Flytting av GNOME-stylingelementer til et eget bibliotek gjør at GNOME-spesifikke endringer kan utvikles separat fra GTK, slik at GTK-utviklere kan fokusere på kjernetingene og GNOME-utviklere raskere og mer fleksibelt presse frem stylingendringer de ønsker uten å påvirke GTK selv. Denne tilnærmingen skaper imidlertid vanskeligheter for utviklere av tredjeparts GTK-baserte brukermiljøer, som er tvunget til enten å bruke libadwaita og tilpasse seg funksjonene til GNOME og replikere designet, eller utvikle sin egen versjon av GTK-stilbiblioteket og akseptere utseendet til GNOME-applikasjoner heterogent i miljøer basert på tredjeparts stilbiblioteker.

Hovedklagen fra tredjeparts rammeverkutviklere gjelder problemer med å overstyre fargene til grensesnittelementer, men libadwaita-utviklerne jobber med å tilby en API for fleksibel fargebehandling, som vil bli inkludert i en fremtidig utgivelse. Blant de uløste problemene nevnes også riktig drift av bevegelseskontrollwidgeter kun på berøringsskjermer - for berøringsplater vil riktig drift av slike widgets bli sikret senere, da de krever endringer i GTK.

Store endringer i libadwaita sammenlignet med libhandy:

  • Fullstendig redesignet sett med stiler. Adwaita-temaet brukt i GNOME er fjernet fra GTK og modernisert, og det gamle temaet er fikset i GTK under navnet "Standard". En av de mest merkbare forskjellene mellom libadwaita og "Standard"-temaet er endringen i utformingen av vindusoverskrifter.
    Utgivelse av Libadwaita 1.0-biblioteket for å lage grensesnitt i GNOME-stil
  • Mekanismene for å binde farger til elementer og endre farger mens applikasjonen kjører er endret (problemene skyldes at libadwaita gikk over til SCSS, som krever en ombygging for å endre farger). For å endre fargene på elementer, som for eksempel kreves i GNOME Web for å markere overgangen til inkognitomodus, brukes metoden som foreslås i elementært OS og er basert på å spesifisere en fast liste over navngitte farger via "@define-color". Imidlertid er fargene til mange grensesnittelementer nå beregnet i forhold til grunntekstfargen og endres automatisk, noe som ikke tillater applikasjoner å kontrollere fargeskjemaet fullt ut (utviklere jobber med å eliminere denne begrensningen).
    Utgivelse av Libadwaita 1.0-biblioteket for å lage grensesnitt i GNOME-stilUtgivelse av Libadwaita 1.0-biblioteket for å lage grensesnitt i GNOME-stil
  • Visningskvaliteten er økt ved bruk av mørke temaer på grunn av mer kontrasterende fremheving av elementer. Aksentfargen er gjort lysere, og en annen høylysfarge er lagt til, som kan endres for mørke og lyse temaer.
    Utgivelse av Libadwaita 1.0-biblioteket for å lage grensesnitt i GNOME-stilUtgivelse av Libadwaita 1.0-biblioteket for å lage grensesnitt i GNOME-stil
  • Lagt til en stor del av nye stilklasser for bruk i applikasjoner. For eksempel ".pill" for store avrundede knapper, muligheten til å bruke ".flat" i GtkHeaderBar, ".accent" for å angi en aksentfarge i etiketter, ".numeric" for tabelltypografi, ".card" for bruk av bakgrunn og skygge som i lister.
    Utgivelse av Libadwaita 1.0-biblioteket for å lage grensesnitt i GNOME-stil
  • Store monolittiske SCSS-filer er delt inn i en samling av mindre stilfiler.
  • Lagt til API for innstilling av mørk designstil og høykontrastmodus.
    Utgivelse av Libadwaita 1.0-biblioteket for å lage grensesnitt i GNOME-stil
  • Dokumentasjonen har blitt omarbeidet; gi-docgen-verktøysettet brukes nå til å generere det.
    Utgivelse av Libadwaita 1.0-biblioteket for å lage grensesnitt i GNOME-stil
  • Det er lagt til et animasjons-API, som kan brukes til å lage overgangseffekter når man erstatter en tilstand med en annen, samt for å lage våranimasjon.
    Utgivelse av Libadwaita 1.0-biblioteket for å lage grensesnitt i GNOME-stil
  • For faner basert på AdwViewSwitcher er muligheten til å vise etiketter med antall uviste varsler lagt til.
    Utgivelse av Libadwaita 1.0-biblioteket for å lage grensesnitt i GNOME-stil
  • Lagt til AdwApplication-klasse (underklasse av GtkApplication) for å automatisk initialisere Libadwaita og lastestiler.
  • Et utvalg widgets er lagt til for å forenkle standardoperasjoner: AdwWindowTitle for å sette vinduets tittel, AdwBin for å forenkle opprettelsen av underklasser for underordnede underklasser, AdwSplitButton for kombinerte knapper, AdwButtonContent for knapper med et ikon og en etikett.
  • API renset.

Kilde: opennet.ru

Legg til en kommentar