GNOME tipli interfeyslər yaratmaq üçün Libadwaita 1.0 kitabxanasının buraxılışı

GNOME Layihəsi, GNOME HIG (İnsan İnterfeysi Təlimatları) əsasında istifadəçi interfeysi üslubu üçün bir sıra komponentləri ehtiva edən Libadwaita kitabxanasının ilk stabil buraxılışını nəşr etdi. Kitabxana ümumi GNOME üslubuna uyğun proqramların qurulması üçün hazır vidjetlər və obyektləri ehtiva edir, interfeysi istənilən ölçülü ekranlara uyğunlaşdırıla bilər. Kitabxana kodu C dilində yazılmışdır və LGPL 2.1+ lisenziyası altında paylanmışdır.

GNOME tipli interfeyslər yaratmaq üçün Libadwaita 1.0 kitabxanasının buraxılışı

Libadwaita kitabxanası GTK4 ilə birlikdə istifadə olunur və GNOME-da istifadə edilən, GTK-dan ayrıca kitabxanaya köçürülmüş Adwaita mövzusunun komponentlərini ehtiva edir. Libadwaita kodu libhandy kitabxanasına əsaslanır və əvvəlcə GNOME texnologiyalarına əsaslanan mobil platformalarda adaptiv interfeys qurmaq üçün yaradılmış və Librem 5 smartfonu üçün Phosh GNOME mühitində təkmilləşdirilmiş bu kitabxananın davamçısı kimi yerləşdirilmişdir.

Kitabxana müxtəlif interfeys elementlərini əhatə edən standart vidjetləri ehtiva edir, məsələn, siyahılar, panellər, redaktə blokları, düymələr, nişanlar, axtarış formaları, dialoq qutuları və s. Təklif olunan vidcetlər həm böyük PC və noutbuk ekranlarında, həm də smartfonların kiçik sensor ekranlarında problemsiz işləyən universal interfeyslər yaratmağa imkan verir. Tətbiq interfeysi ekran ölçüsündən və mövcud daxiletmə qurğularından asılı olaraq dinamik şəkildə dəyişir. Kitabxana, həmçinin əl ilə uyğunlaşmaya ehtiyac olmadan görünüşü GNOME qaydalarına uyğunlaşdıran bir sıra Adwaita üslublarını ehtiva edir.

GNOME üslub elementlərinin ayrıca kitabxanaya köçürülməsi GNOME-a xas dəyişikliklərin GTK-dan ayrıca işlənib hazırlanmasına imkan verir ki, bu da GTK tərtibatçılarına əsas şeylərə diqqət yetirməyə və GNOME tərtibatçılarına GTK-nın özünə təsir etmədən istədikləri üslub dəyişikliklərini daha tez və çevik şəkildə irəliləməyə imkan verir. Bununla belə, bu yanaşma ya libadwaita-dan istifadə edib GNOME-un xüsusiyyətlərinə uyğunlaşmaq və onun dizaynını təkrarlamaq, ya da GTK üslublu kitabxananın öz versiyasını inkişaf etdirməyə məcbur olan üçüncü tərəf GTK əsaslı istifadəçi mühitlərinin tərtibatçıları üçün çətinliklər yaradır. GNOME tətbiqlərinin üçüncü tərəf stil kitabxanalarına əsaslanan mühitlərdə heterojen görünüşü.

Üçüncü tərəf çərçivə tərtibatçılarının əsas şikayəti interfeys elementlərinin rənglərinin ləğvi ilə bağlı problemlərlə bağlıdır, lakin libadwaita tərtibatçıları çevik rəng idarəçiliyi üçün API təmin etmək üzərində işləyirlər və bu, gələcək buraxılışa daxil ediləcək. Həll edilməmiş problemlər arasında jestlə idarə olunan vidcetlərin yalnız sensor ekranlarda düzgün işləməsi də qeyd olunur - toxunma panelləri üçün belə vidcetlərin düzgün işləməsi sonradan təmin ediləcək, çünki onlar GTK-da dəyişikliklər tələb edir.

Libadwaitada libhandy ilə müqayisədə əsas dəyişikliklər:

  • Tamamilə yenidən işlənmiş üslublar dəsti. GNOME-da istifadə edilən Adwaita mövzusu GTK-dan çıxarılaraq modernləşdirilib, köhnə mövzu isə GTK-da “Defolt” adı ilə düzəldilib. Libadwaita ilə "Defolt" mövzusu arasındakı ən nəzərə çarpan fərqlərdən biri pəncərə başlıqlarının dizaynındakı dəyişiklikdir.
    GNOME tipli interfeyslər yaratmaq üçün Libadwaita 1.0 kitabxanasının buraxılışı
  • Tətbiq işləyərkən rənglərin elementlərə bağlanması və rənglərin dəyişdirilməsi mexanizmləri dəyişdirilib (problemlər libadwaitanın rəngləri dəyişdirmək üçün yenidən qurmağı tələb edən SCSS-ə keçməsi ilə əlaqədardır). Elementlərin rənglərini dəyişdirmək üçün, məsələn, GNOME Web-də inkoqnito rejiminə keçidi qeyd etmək tələb olunur, elementar OS-də təklif olunan metoddan istifadə edilir və “@define-color” vasitəsilə adlandırılmış rənglərin sabit siyahısının müəyyənləşdirilməsinə əsaslanır. Bununla belə, indi bir çox interfeys elementlərinin rəngləri əsas mətn rənginə nisbətən hesablanır və avtomatik olaraq dəyişir ki, bu da proqramlara rəng sxemini tam idarə etməyə imkan vermir (inkişafçılar bu məhdudiyyəti aradan qaldırmaq üçün çalışırlar).
    GNOME tipli interfeyslər yaratmaq üçün Libadwaita 1.0 kitabxanasının buraxılışıGNOME tipli interfeyslər yaratmaq üçün Libadwaita 1.0 kitabxanasının buraxılışı
  • Elementlərin daha ziddiyyətli vurğulanması səbəbindən tünd mövzulardan istifadə edərkən ekran keyfiyyəti artırılıb. Vurğu rəngi daha parlaq edilib və tünd və açıq mövzular üçün dəyişə bilən başqa vurğulanan rəng əlavə edilib.
    GNOME tipli interfeyslər yaratmaq üçün Libadwaita 1.0 kitabxanasının buraxılışıGNOME tipli interfeyslər yaratmaq üçün Libadwaita 1.0 kitabxanasının buraxılışı
  • Tətbiqlərdə istifadə üçün yeni üslub siniflərinin böyük bir hissəsi əlavə edildi. Məsələn, böyük dairəvi düymələr üçün ".pill", GtkHeaderBar-da ".flat" istifadə etmək imkanı, etiketlərdə vurğu rəngini təyin etmək üçün ".accent", masa tipoqrafiyası üçün ".numeric", fondan istifadə üçün ".card" və siyahılardakı kimi kölgə.
    GNOME tipli interfeyslər yaratmaq üçün Libadwaita 1.0 kitabxanasının buraxılışı
  • Böyük monolit SCSS faylları daha kiçik stil faylları toplusuna bölünür.
  • Qaranlıq dizayn tərzini və yüksək kontrast rejimini təyin etmək üçün API əlavə edildi.
    GNOME tipli interfeyslər yaratmaq üçün Libadwaita 1.0 kitabxanasının buraxılışı
  • Sənədlər yenidən işlənmişdir; gi-docgen alət dəsti indi onu yaratmaq üçün istifadə olunur.
    GNOME tipli interfeyslər yaratmaq üçün Libadwaita 1.0 kitabxanasının buraxılışı
  • Bir vəziyyəti digəri ilə əvəz edərkən keçid effektləri yaratmaq, həmçinin yaz animasiyasını yaratmaq üçün istifadə edilə bilən animasiya API əlavə edildi.
    GNOME tipli interfeyslər yaratmaq üçün Libadwaita 1.0 kitabxanasının buraxılışı
  • AdwViewSwitcher-ə əsaslanan nişanlar üçün baxılmamış bildirişlərin sayı ilə etiketləri göstərmək imkanı əlavə edilmişdir.
    GNOME tipli interfeyslər yaratmaq üçün Libadwaita 1.0 kitabxanasının buraxılışı
  • Libadwaita-nı avtomatik işə salmaq və üslubları yükləmək üçün AdwApplication sinfi (GtkApplication alt sinfi) əlavə edildi.
  • Standart əməliyyatları sadələşdirmək üçün vidjetlər seçimi əlavə edilmişdir: pəncərə başlığını təyin etmək üçün AdwWindowTitle, uşaq alt siniflərin yaradılmasını asanlaşdırmaq üçün AdwBin, birləşdirilmiş düymələr üçün AdwSplitButton, nişan və etiketli düymələr üçün AdwButtonContent.
  • API təmizləndi.

Mənbə: opennet.ru

Добавить комментарий