La GNOME-Projekto publikigis la eldonon de Libadwaita 1.5, kiu inkluzivas aron da komponantoj por stilado de uzantinterfaco, kiu sekvas la GNOME HIG (Gvidlinioj pri Homa Interfaco). La biblioteko inkluzivas pretajn uzaΔ΅ojn kaj objektojn por konstrui aplikaΔ΅ojn, kiuj konformas al la Δenerala GNOME-stilo, kies interfaco povas adaptiΔi al ekranoj de ajna grandeco. La bibliotekkodo estas skribita en C kaj estas distribuita sub la LGPL 2.1+ permesilo.
La biblioteko libadwaita estas uzata kune kun GTK4 kaj inkluzivas komponantojn de la temo Adwaita uzata en GNOME, kiuj estis movitaj el GTK en apartan bibliotekon. Movi GNOME-stilelementojn en apartan bibliotekon ebligas al GNOME-specifaj ΕanΔoj disvolviΔi aparte de GTK, permesante al GTK-programistoj koncentriΔi pri la kernaΔ΅oj kaj al GNOME-programistoj pli rapide kaj flekseble antaΕenpuΕi stilΕanΔojn kiujn ili volas sen influi GTK mem.
La biblioteko inkluzivas normajn fenestraΔ΅ojn kovrantajn diversajn interfacelementojn, kiel listojn, panelojn, redaktajn blokojn, butonojn, langetojn, serΔformojn, dialogkestojn ktp. La proponitaj fenestraΔ΅oj permesas krei universalajn interfacojn, kiuj funkcias perfekte kaj sur grandaj komputiloj kaj tekkomputiloj, kaj sur malgrandaj tuΕekranoj de saΔtelefonoj. La aplikaΔ΅a interfaco ΕanΔiΔas dinamike depende de la ekrangrandeco kaj disponeblaj enigaparatoj. La biblioteko ankaΕ inkluzivas aron de Adwaita-stiloj, kiuj alportas la aspekton al GNOME-gvidlinioj sen bezono de mana adapto.
ΠΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π² 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Β», Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΠΈΠΉ ΠΏΡΠΎΠ»ΠΈΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ²Π΅ΡΡ Π²Π΅ΡΡ Π½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π»ΠΈΡΡΠ°Ρ , ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»ΡΠ½Π½ΡΡ ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡ ΠΊΡΠ°Ρ).
- ΠΠΎΠ²ΡΡΠ΅Π½Π° ΡΡΠΊΠΎΡΡΡ ΡΠ²Π΅ΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΡΠΈ Π·Π°ΡΠ΅Π½Π΅Π½ΠΈΠΈ ΠΎΠΊΠΎΠ½ ΠΏΡΠΈ ΡΡΠΌΠ½ΠΎΠΌ ΡΡΠΈΠ»Π΅ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ.
fonto: opennet.ru