Utgivning av biblioteket Libadwaita 1.5 för att skapa grÀnssnitt i GNOME-stil

GNOME-projektet har publicerat version 1.5 av Libadwaita-biblioteket, som innehÄller en uppsÀttning komponenter för stiliserad anvÀndargrÀnssnitt som följer rekommendationerna i GNOME HIG (Human Interface Guidelines). Biblioteket inkluderar fÀrdiga widgets och objekt för att bygga applikationer som följer GNOME:s övergripande stil, vars grÀnssnitt kan anpassas till skÀrmar av alla storlekar. Koden för biblioteket Àr skriven i C och distribueras under LGPL 2.1+-licensen.

Biblioteket libadwaita anvÀnds tillsammans med GTK4 och inkluderar komponenter frÄn GNOME:s teman Adwaita, som har separerats frÄn GTK till ett eget bibliotek. Att separera GNOME:s visuella element i ett eget bibliotek gör det möjligt att utveckla nödvÀndiga förÀndringar uteslutande för GNOME, vilket ger GTK-utvecklare möjlighet att fokusera pÄ det grundlÀggande, medan GNOME-utvecklare mer snabbt och flexibelt kan driva de stilförÀndringar de behöver, utan att pÄverka GTK.

Biblioteket innehÄller standardwidgets som omfattar olika grÀnssnittselement, sÄsom listor, paneler, redigeringsblock, knappar, flikar, sökformulÀr, dialogrutor m.m. De föreslagna widgets möjliggör skapandet av universella grÀnssnitt som fungerar smidigt bÄde pÄ stora PC- och laptopskÀrmar och pÄ smÄ pekskÀrmar pÄ smartphones. Applikationens grÀnssnitt Àndras dynamiskt beroende pÄ skÀrmens storlek och tillgÀngliga inmatningsenheter. Biblioteket inkluderar ocksÄ en uppsÀttning Adwaita-stilar som anpassar utseendet enligt GNOME:s rekommendationer, utan att man behöver göra manuell anpassning.

Utgivning av biblioteket Libadwaita 1.5 för att skapa grÀnssnitt i GNOME-stil

Den frÀmsta förÀndringen i libadwaita 1.5 Àr omarbetningen av responsiva widgets för att skapa dialoger som anpassar sig till den synliga ytan. Till skillnad frÄn traditionella dialoger som placeras i separata fönster, bildas de nya dialogerna pÄ klientsidan, ritade inom befintliga fönster och kan inte strÀcka sig utanför förÀldrafönstret. Denna strategi förenklar skapandet av universella dialoger som kompletterar grÀnssnittet för bÄde mobil- och skrivbordssystem och erbjuder ytterligare möjligheter för dialoghantering (till exempel behöver man inte övervaka uttrÀdet utanför fönstret, man kan vÀlja beteende för stÀngningsknappar, det finns automatisk maximera-funktion i mobilversioner av applikationer, och stilen pÄ den aktuella dialogen beaktas snarare Àn systemets stil vid mörkning av dialogen).

Utgivning av biblioteket Libadwaita 1.5 för att skapa grÀnssnitt i GNOME-stil Utgivning av biblioteket Libadwaita 1.5 för att skapa grÀnssnitt i GNOME-stil

I framtiden planeras en annan variant av sÄdana dialoger, knutna inte till fönster utan till flikar inom fönstret, vilket kan vara efterfrÄgat i applikationer som webblÀsare sÄ att relaterade flikdialoger inte döljer huvudfönstret nÀr man vÀxlar mellan flikarna.

För mobila enheter har stöd för att placera dialoger i form av bottenblad implementerats, fastsatta i den nedre delen av skĂ€rmen (bottom sheets), snarare Ă€n centrerade blad. FĂ€sta dialoger i den nedre delen gör att anvĂ€ndarna slipper förvirring kring stĂ€ngning av fönster – i sĂ„dana dialoger förblir en del av förĂ€ldrafönstret synligt och knapparna för att stĂ€nga bĂ„de förĂ€ldrafönstret och dialogen Ă€r tydligt Ă„tskilda, vilket gör dem svĂ„rare att förvĂ€xla.

Utgivning av biblioteket Libadwaita 1.5 för att skapa grÀnssnitt i GNOME-stil

Hantera nya dialoger görs med hjÀlp av klassen AdwDialog, dÀr arbetet i de flesta situationer liknar anvÀndningen av klassen GtkWindow, och skillnaderna handlar om visnings- och stÀngningsoperationer. Till exempel har egenskapen «:transient-for» ersatts med en parameter i funktionen adw_dialog_present(), en ny signal «::close-attempt» har lagts till, och hanteringen av parametern «:can-close» har Àndrats. IstÀllet för klasserna AdwPreferencesWindow, AdwAboutWindow och AdwMessageDialog föreslÄs nya dialoger anvÀnda klasserna AdwPreferencesDialog, AdwAboutDialog och AdwAlertDialog.

Dialoger som inte har nÄgot förÀldra-fönster kommer fortfarande att behandlas i form av separata fönster. Dialoger vars förÀldra-fönster inte kan anvÀndas för att placera dialoger, till exempel om de inte tillÄter storleksÀndringar eller om de saknar klassen AdwWindow och AdwApplicationWindow, kommer ocksÄ att fungera som fönster.

Ändringar i Libadwaita 1.5 som inte Ă€r relaterade till omarbetning av dialoger:

  • I klassen AdwEntryRow har egenskapen «:text-length» lagts till för att begrĂ€nsa storleken pĂ„ texten i inmatningsfĂ€ltet.
  • I klassen AdwMessageDialog har metoden remove_response() lagts till.
  • I klassen AdwBreakpointBin, som möjliggör förĂ€ndring av anvĂ€ndargrĂ€nssnittet pĂ„ olika sĂ€tt beroende pĂ„ fönstrets storlek, har möjligheten att programatiskt ta bort brytpunkter lagts till.
  • I klassen AdwSwipeTracker har flaggan «:allow-window-handle» lagts till, vilket tillĂ„ter svep över den övre panelen (anvĂ€nds i blad som Ă€r fĂ€sta vid bottenkanten).
  • Ljusstyrkan pĂ„ fĂ€rgerna som anvĂ€nds vid skuggning av fönster med mörk design har ökat.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster