ΠΡΠΎΠ΅ΠΊΡΡΡ GNOME ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Libadwaita 1.3, ΠΊΠΎΡΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π° Π½Π°Π±ΠΎΡ ΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π·Π° ΡΡΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠΎΠΉΡΠΎ Π΅ Π² ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Ρ ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈΡΠ΅ Π½Π° GNOME HIG (Human Interface Guidelines). ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π²ΠΊΠ»ΡΡΠ²Π° Π³ΠΎΡΠΎΠ²ΠΈ Π΄ΠΆΠ°Π΄ΠΆΠΈ ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π½Π° ΠΎΠ±ΡΠΈΡ ΡΡΠΈΠ» Π½Π° GNOME, ΡΠΈΠΉΡΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π°Π΄Π°ΠΏΡΠΈΡΠ° ΠΊΡΠΌ Π΅ΠΊΡΠ°Π½ΠΈ Ρ Π²ΡΡΠΊΠ°ΠΊΡΠ² ΡΠ°Π·ΠΌΠ΅Ρ. ΠΠΎΠ΄ΡΡ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊ C ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° LGPL 2.1+.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° libadwaita ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π°Π΅Π΄Π½ΠΎ Ρ GTK4 ΠΈ Π²ΠΊΠ»ΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° ΠΊΠΎΠΆΠ°ΡΠ° Π½Π° Adwaita, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² GNOME, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ΠΈ ΠΎΡ GTK Π² ΠΎΡΠ΄Π΅Π»Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°. ΠΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΠΈΠ·ΡΠ°Π»Π½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° GNOME Π² ΠΎΡΠ΄Π΅Π»Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π·Π° GNOME ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΎΡ GTK, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° GTK Π΄Π° ΡΠ΅ ΡΡΡΡΠ΅Π΄ΠΎΡΠΎΡΠ°Ρ Π²ΡΡΡ Ρ ΠΎΡΠ½ΠΎΠ²ΠΈΡΠ΅, Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° GNOME ΠΏΠΎ-Π±ΡΡΠ·ΠΎ ΠΈ Π³ΡΠ²ΠΊΠ°Π²ΠΎ Π΄Π° Π½Π°Π»Π°Π³Π°Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΡΡΠΈΠ»Π° Π·Π° ΡΠ΅Π±Π΅ ΡΠΈ, Π±Π΅Π· Π΄Π° Π·Π°ΡΡΠ³Π°Ρ ΡΠ°ΠΌΠΈΡ GTK.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π²ΠΊΠ»ΡΡΠ²Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ ΡΠΈΠ΄ΠΆΠ΅ΡΠΈ, ΠΏΠΎΠΊΡΠΈΠ²Π°ΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΊΠ°ΡΠΎ ΡΠΏΠΈΡΡΡΠΈ, ΠΏΠ°Π½Π΅Π»ΠΈ, Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π·Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅, Π±ΡΡΠΎΠ½ΠΈ, ΡΠ°Π·Π΄Π΅Π»ΠΈ, ΡΠΎΡΠΌΠΈ Π·Π° ΡΡΡΡΠ΅Π½Π΅, Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΈ ΠΏΡΠΎΠ·ΠΎΡΡΠΈ ΠΈ Π΄Ρ. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΠ΅ Π΄ΠΆΠ°Π΄ΠΆΠΈ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Ρ Π±Π΅Π·ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎ ΠΊΠ°ΠΊΡΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π΅ΠΊΡΠ°Π½ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠΈ ΠΈ Π»Π°ΠΏΡΠΎΠΏΠΈ, ΡΠ°ΠΊΠ° ΠΈ Π½Π° ΠΌΠ°Π»ΠΊΠΈ ΡΠ΅Π½Π·ΠΎΡΠ½ΠΈ Π΅ΠΊΡΠ°Π½ΠΈ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΈ. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π΅ΠΊΡΠ°Π½Π° ΠΈ Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ Π²Ρ ΠΎΠ΄Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π²ΠΊΠ»ΡΡΠ²Π° Π½Π°Π±ΠΎΡ ΠΎΡ ΡΡΠΈΠ»ΠΎΠ²Π΅ Π½Π° Adwaita, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΈΠ΄Π°Π²Π°Ρ ΠΎΠ±Π»ΠΈΠΊΠ° ΠΈ ΡΡΠ΅ΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΊΠ°Π·Π°Π½ΠΈΡΡΠ° Π½Π° GNOME, Π±Π΅Π· Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ½ΠΎ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² libadwaita 1.3:
- ΠΠ½Π΅Π΄ΡΠ΅Π½Π° Π΄ΠΆΠ°Π΄ΠΆΠ° AdwBanner, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²ΠΌΠ΅ΡΡΠΎ Π΄ΠΆΠ°Π΄ΠΆΠ° GTK GtkInfoBar Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π±Π°Π½Π΅ΡΠ½ΠΈ ΠΏΡΠΎΠ·ΠΎΡΡΠΈ, ΡΡΠ΄ΡΡΠΆΠ°ΡΠΈ Π·Π°Π³Π»Π°Π²ΠΈΠ΅ ΠΈ Π΅Π΄ΠΈΠ½ Π½Π΅Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π΅Π½ Π±ΡΡΠΎΠ½. Π‘ΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠΈΠ΄ΠΆΠ΅ΡΠ° ΡΠ΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΌΡ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ ΠΈ ΡΠΊΡΠΈΠ²Π°Π½Π΅.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΏΡΠΈΡΠΏΠΎΡΠΎΠ±Π»Π΅Π½ΠΈΠ΅ΡΠΎ AdwTabOverview, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ Π·Π° Π²ΠΈΠ·ΡΠ°Π»Π΅Π½ ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΡΠ°Π·Π΄Π΅Π»ΠΈ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ, ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠ»Π°ΡΠ° AdwTabView. ΠΠΎΠ²Π°ΡΠ° Π΄ΠΆΠ°Π΄ΠΆΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈ Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π±Π΅Π· Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ΅Π»Ρ.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌ ΠΌΠΎΠ΄ΡΠ» AdwTabButton Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π±ΡΡΠΎΠ½ΠΈ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π±ΡΠΎΡ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΠΈ Π² AdwTabView, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π·Π° ΠΎΡΠ²Π°ΡΡΠ½Π΅ Π½Π° ΠΈΠ·Π³Π»Π΅Π΄Π° Π½Π° ΡΠ°Π·Π΄Π΅Π»ΠΈ.
- ΠΡΠΈΡΠΏΠΎΡΠΎΠ±Π»Π΅Π½ΠΈΡΡΠ° AdwViewStack, AdwTabView ΠΈ AdwEntryRow Π²Π΅ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡ.
- ΠΡΠΌ ΠΊΠ»Π°ΡΠ° AdwAnimation Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π·Π° ΠΈΠ³Π½ΠΎΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π°Π½ΠΈΠΌΠ°ΡΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
- ΠΠ»Π°ΡΡΡ AdwActionRow Π²Π΅ΡΠ΅ ΠΈΠΌΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π΄Π° ΠΌΠ°ΡΠΊΠΈΡΠ° ΡΡΠ±ΡΠΈΡΡΠΈ.
- Π‘Π²ΠΎΠΉΡΡΠ²Π°ΡΠ° Π½Π° Π·Π°Π³Π»Π°Π²Π½ΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π΅ ΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΡΠ±ΡΠΈΡΡΠΈΡΠ΅ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΊΡΠΌ ΠΊΠ»Π°ΡΠ° AdwExpanderRow.
- ΠΠ΅ΡΠΎΠ΄ΡΡ grab_focus_without_selecting() Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΊΡΠΌ ΠΊΠ»Π°ΡΠ° AdwEntryRow, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° GtkEntry.
- ΠΠ΅ΡΠΎΠ΄ΡΡ async select() Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΊΡΠΌ ΠΊΠ»Π°ΡΠ° AdwMessageDialog, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° GtkAlertDialog.
- ΠΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡΡΠ° Π½Π° API, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° drag-n-drop, ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΊΡΠΌ ΠΊΠ»Π°ΡΠ° AdwTabBar.
- ΠΠ»Π°ΡΡΡ AdwAvatar ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠΌΠ΅Π½ ΡΡΠΈΠ» ΠΈ ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π²ΠΈΡΠΎΠΊ ΠΊΠΎΠ½ΡΡΠ°ΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Windows.
- ΠΠ·Π±ΡΠ°Π½ΠΈΡΠ΅ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ ΠΎΡ ΡΠΏΠΈΡΡΡΠΈΡΠ΅ ΠΈ ΡΠ΅ΡΠ΅ΡΠΊΠΈΡΠ΅ Π²Π΅ΡΠ΅ ΡΠ° ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ΠΈ Ρ ΡΠ²Π΅ΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΠΌΠ°ΡΠΊΠΈΡΠ°Π½Π΅ Π½Π° Π°ΠΊΡΠΈΠ²Π½ΠΈΡΠ΅ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ (Π°ΠΊΡΠ΅Π½Ρ).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru