It GNOME-projekt hat de frijlitting fan Libadwaita 1.5 publisearre, dy't in set fan komponinten omfettet foar styling fan brΓ»kersynterface dy't de GNOME HIG (Human Interface Guidelines) folget. De bibleteek omfettet klearmakke widgets en objekten foar it bouwen fan applikaasjes dy't foldogge oan 'e algemiene GNOME-styl, wΓͺrfan de ynterface oanpast kin wurde oanpast oan skermen fan elke grutte. De biblioteekkoade is skreaun yn C en wurdt ferspraat Γ»nder de LGPL 2.1+ lisinsje.
De libadwaita-bibleteek wurdt brΓ»kt yn kombinaasje mei GTK4 en omfettet komponinten fan it Adwaita-tema brΓ»kt yn GNOME, dy't ΓΊt GTK binne ferpleatst nei in aparte bibleteek. It ferpleatsen fan GNOME-styling-eleminten yn in aparte bibleteek lit GNOME-spesifike wizigingen apart fan GTK Γ»ntwikkele wurde, wΓͺrtroch GTK-Γ»ntwikkelders har rjochtsje kinne op it kearnmateriaal en GNOME-Γ»ntwikkelders om stylferoarings rapper en fleksibeler troch te drukken dy't se wolle sΓ»nder GTK sels te beynfloedzjen.
De bibleteek omfettet standert widgets dy't ferskate ynterface-eleminten dekke, lykas listen, panielen, bewurkingsblokken, knoppen, ljeppers, sykformulieren, dialoochfinsters, ensfh. De foarstelde widgets kinne jo universele ynterfaces meitsje dy't naadloos funksjonearje sawol op grutte PC- en laptopskermen, as op lytse touchscreens fan smartphones. De applikaasje-ynterface feroaret dynamysk Γ΄fhinklik fan 'e skermgrutte en beskikbere ynfierapparaten. De bibleteek omfettet ek in set Adwaita-stilen dy't it uterlik yn oerienstimming bringe mei GNOME-rjochtlinen sΓ»nder de needsaak foar hΓ’nmjittige oanpassing.
ΠΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π² libadwaita 1.5 ΡΡΠ°Π»Π° ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠ° Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΎΠΊΠΎΠ½, ΠΏΠΎΠ΄ΡΡΡΠ°ΠΈΠ²Π°ΡΡΠΈΡ ΡΡ ΠΏΠΎΠ΄ ΡΠ°Π·ΠΌΠ΅Ρ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΎΠΊΠ½Π°Ρ , Π½ΠΎΠ²ΡΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ ΡΠΎΡΠΌΠΈΡΡΡΡΡΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΎΠΊΠΎΠ½ ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π²ΡΡ ΠΎΠ΄ΠΈΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. ΠΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ², ΡΠΎΡΠ΅ΡΠ°Π΅ΠΌΡΡ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΈ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΈΠ°Π»ΠΎΠ³Π°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π²ΡΡ ΠΎΠ΄ Π·Π° Π³ΡΠ°Π½ΠΈΡΡ ΠΎΠΊΠ½Π°, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π·Π°ΠΊΡΡΡΠΈΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠ΅ Π½Π° Π²Π΅ΡΡ ΡΠΊΡΠ°Π½ Π² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΡΠΈΠ»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΎΠΊΠ½Π°, Π° Π½Π΅ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΡΠΈ Π·Π°ΡΠ΅ΠΌΠ½Π΅Π½ΠΈΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³Π°).
Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ², ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΡ Π½Π΅ ΠΊ ΠΎΠΊΠ½Π°ΠΌ, Π° ΠΊΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌ Π²Π½ΡΡΡΠΈ ΠΎΠΊΠ½Π°, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΎ Π² ΡΠ°ΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ , ΠΊΠ°ΠΊ Π±ΡΠ°ΡΠ·Π΅ΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠΎΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°Π»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ.
ΠΠ»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ² Π² ΡΠΎΡΠΌΠ΅ Π»ΠΈΡΡΠΎΠ², Π·Π°ΠΊΡΠ΅ΠΏΠ»ΡΠ½Π½ΡΡ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π° (bottom sheets), Π° Π½Π΅ Π² ΡΠΎΡΠΌΠ΅ Π»ΠΈΡΡΠΎΠ², Π²ΡΡΠΎΠ²Π½Π΅Π½Π½ΡΡ ΠΏΠΎ ΡΠ΅Π½ΡΡΡ. ΠΡΠΈΠΊΡΠ΅ΠΏΠ»ΡΠ½Π½ΡΠ΅ ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ ΠΈΠ·Π±Π°Π²Π»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΎΡ ΠΏΡΡΠ°Π½ΠΈΡΡ Ρ Π·Π°ΠΊΡΡΡΠΈΠ΅ΠΌ ΠΎΠΊΠΎΠ½ β Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³Π°Ρ ΡΠ°ΡΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΎΡΡΠ°ΡΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π·Π°ΠΊΡΡΡΠΈΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π° ΡΠ²Π½ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡ ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΡΠ΄Π½ΠΎ ΡΠΏΡΡΠ°ΡΡ.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΠΌΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³Π°ΠΌΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠ»Π°ΡΡΠ° AdwDialog, ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠΈΡΡΠ°ΡΠΈΠΉ ΠΏΠΎΡ ΠΎΠ΄ΠΈΡ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° GtkWindow, Π° ΡΠ°Π·Π»ΠΈΡΠΈΡ ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΊΡΡΡΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Β«:transient-forΒ» Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ adw_dialog_present(), Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠ³Π½Π°Π» Β«::close-attemptΒ», ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Β«:can-closeΒ». ΠΠΌΠ΅ΡΡΠΎ ΠΊΠ»Π°ΡΡΠΎΠ² AdwPreferencesWindow, AdwAboutWindow ΠΈ AdwMessageDialog Ρ Π½ΠΎΠ²ΡΠΌΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³Π°ΠΌΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ AdwPreferencesDialog, AdwAboutDialog ΠΈ AdwAlertDialog.
ΠΠΈΠ°Π»ΠΎΠ³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π² ΡΠΎΡΠΌΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΎΠΊΠΎΠ½. ΠΠ°ΠΊ ΠΎΠΊΠ½Π° ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ, ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΎΠΊΠ½Π° ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ»ΠΈ Π΄Π»Ρ Π½ΠΈΡ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ ΠΊΠ»Π°ΡΡΡ AdwWindow ΠΈ AdwApplicationWindow.
ΠΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Libadwaita 1.5:
- Π ΠΊΠ»Π°ΡΡ AdwEntryRow Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Β«:text-lengthΒ» Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ΅ΠΊΡΡΠ° Π² ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°.
- Π ΠΊΠ»Π°ΡΡ AdwMessageDialog Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ remove_response().
- Π ΠΊΠ»Π°ΡΡ AdwBreakpointBin, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΌΠ΅Π½ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΠΊΠ½Π°, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π°.
- Π ΠΊΠ»Π°ΡΡ AdwSwipeTracker Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ»Π°Π³ Β«:allow-window-handleΒ», Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΠΈΠΉ ΠΏΡΠΎΠ»ΠΈΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ²Π΅ΡΡ Π²Π΅ΡΡ Π½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π»ΠΈΡΡΠ°Ρ , ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»ΡΠ½Π½ΡΡ ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡ ΠΊΡΠ°Ρ).
- ΠΠΎΠ²ΡΡΠ΅Π½Π° ΡΡΠΊΠΎΡΡΡ ΡΠ²Π΅ΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΡΠΈ Π·Π°ΡΠ΅Π½Π΅Π½ΠΈΠΈ ΠΎΠΊΠΎΠ½ ΠΏΡΠΈ ΡΡΠΌΠ½ΠΎΠΌ ΡΡΠΈΠ»Π΅ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ.
Boarne: opennet.ru