Utgivelse av Libadwaita 1.5-biblioteket for Γ₯ lage grensesnitt i GNOME-stil

GNOME-prosjektet har publisert utgivelsen av Libadwaita 1.5, 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.

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. 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.

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.

Utgivelse av Libadwaita 1.5-biblioteket for Γ₯ lage grensesnitt i GNOME-stil

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π² libadwaita 1.5 стала ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² для создания Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΎΠΊΠΎΠ½, ΠΏΠΎΠ΄ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΠΎΠ΄ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ области. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΊΠ½Π°Ρ…, Π½ΠΎΠ²Ρ‹Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΎΡ‚Ρ€ΠΈΡΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΊΠΎΠ½ ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ созданиС ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ², сочСтаСмых с интСрфСйсами для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… систСм, Π° Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности для управлСния Π΄ΠΈΠ°Π»ΠΎΠ³Π°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρƒ ΠΎΠΊΠ½Π°, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ закрытия, обСспСчиваСтся автоматичСскоС Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Π½Π° вСсь экран Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… вСрсиях ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, учитываСтся ΡΡ‚ΠΈΠ»ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π°, Π° Π½Π΅ систСмы, ΠΏΡ€ΠΈ Π·Π°Ρ‚Π΅ΠΌΠ½Π΅Π½ΠΈΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³Π°).

Utgivelse av Libadwaita 1.5-biblioteket for Γ₯ lage grensesnitt i GNOME-stilUtgivelse av Libadwaita 1.5-biblioteket for Γ₯ lage grensesnitt i GNOME-stil

Π’ дальнСйшСм планируСтся Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ², привязанных Π½Π΅ ΠΊ ΠΎΠΊΠ½Π°ΠΌ, Π° ΠΊΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠΊΠ½Π°, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ вострСбовано Π² Ρ‚Π°ΠΊΠΈΡ… прилоТСниях, ΠΊΠ°ΠΊ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ связанныС со Π²ΠΊΠ»Π°Π΄ΠΊΠΎΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°Π»ΠΈ основноС ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ.

Для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° размСщСния Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ΅ листов, Π·Π°ΠΊΡ€Π΅ΠΏΠ»Ρ‘Π½Π½Ρ‹Ρ… Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части экрана (bottom sheets), Π° Π½Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ΅ листов, Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ. ΠŸΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Ρ‘Π½Π½Ρ‹Π΅ ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΉ части Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ ΠΈΠ·Π±Π°Π²Π»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎΡ‚ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρ‹ с Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ ΠΎΠΊΠΎΠ½ β€” Π² ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Π΄ΠΈΠ°Π»ΠΎΠ³Π°Ρ… Ρ‡Π°ΡΡ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° остаётся Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ закрытия Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΈ самого Π΄ΠΈΠ°Π»ΠΎΠ³Π° явно Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹, поэтому ΠΈΡ… Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΡΠΏΡƒΡ‚Π°Ρ‚ΡŒ.

Utgivelse av Libadwaita 1.5-biblioteket for Γ₯ lage grensesnitt i GNOME-stil

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹ΠΌΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³Π°ΠΌΠΈ производится ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ класса 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Β», Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΠΉ пролистываниС ΠΏΠΎΠ²Π΅Ρ€Ρ… Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² листах, ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Ρ‘Π½Π½Ρ‹Ρ… ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡƒ ΠΊΡ€Π°ΡŽ).
  • ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΡΡ€ΠΊΠΎΡΡ‚ΡŒ Ρ†Π²Π΅Ρ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ Π·Π°Ρ‚Π΅Π½Π΅Π½ΠΈΠΈ ΠΎΠΊΠΎΠ½ ΠΏΡ€ΠΈ Ρ‚Ρ‘ΠΌΠ½ΠΎΠΌ стилС оформлСния.

Kilde: opennet.ru

Legg til en kommentar