Ngaleupaskeun perpustakaan Libadwaita 1.0 pikeun nyiptakeun antarmuka gaya GNOME

Proyék GNOME parantos nyebarkeun sékrési stabil munggaran perpustakaan Libadwaita, anu kalebet sakumpulan komponén pikeun gaya antarmuka pangguna anu nuturkeun GNOME HIG (Pedoman Antarmuka Manusa). Perpustakaan ngawengku widget siap-dijieun jeung objék pikeun ngawangun aplikasi nu sasuai jeung gaya GNOME umum, antarbeungeut nu bisa adaptively disaluyukeun kana layar sagala ukuran. Kode perpustakaan ditulis dina C sarta disebarkeun dina LGPL 2.1+ lisénsi.

Ngaleupaskeun perpustakaan Libadwaita 1.0 pikeun nyiptakeun antarmuka gaya GNOME

Perpustakaan libadwaita dianggo babarengan sareng GTK4 sareng kalebet komponén téma Adwaita anu dianggo dina GNOME, anu parantos dikaluarkeun tina GTK kana perpustakaan anu misah. Kode libadwaita didasarkeun kana perpustakaan libhandy sareng diposisikan salaku ngagentos perpustakaan ieu, anu asalna diciptakeun pikeun ngawangun antarmuka adaptif dina platform mobile dumasar kana téknologi GNOME, sareng diasah di lingkungan Phosh GNOME pikeun smartphone Librem 5.

Perpustakaan ngawengku widget standar ngawengku rupa elemen panganteur, kayaning daptar, panels, blok éditan, tombol, tab, formulir pilarian, kotak dialog, jsb. Widget anu diusulkeun ngamungkinkeun anjeun nyiptakeun antarmuka universal anu fungsina lancar dina layar PC sareng laptop ageung, sareng dina layar toél leutik smartphone. Antarbeungeut aplikasi robih sacara dinamis gumantung kana ukuran layar sareng alat input anu sayogi. Perpustakaan ogé nyertakeun sakumpulan gaya Adwaita anu ngajantenkeun penampilan saluyu sareng pedoman GNOME tanpa peryogi adaptasi manual.

Mindahkeun elemen gaya GNOME kana perpustakaan anu misah ngamungkinkeun parobihan khusus GNOME dikembangkeun sacara misah ti GTK, ngamungkinkeun pamekar GTK fokus kana barang inti sareng pamekar GNOME pikeun langkung gancang sareng fleksibel nyorong parobihan gaya anu dipikahoyong tanpa mangaruhan GTK sorangan. Tapi, pendekatan ieu nyiptakeun kasusah pikeun pamekar lingkungan pamaké basis GTK pihak katilu, anu kapaksa boh ngagunakeun libadwaita sarta adaptasi jeung fitur GNOME sarta ngayakeun réplikasi desain na, atawa ngamekarkeun versi sorangan tina perpustakaan gaya GTK sarta narima penampilan aplikasi GNOME hétérogén dina lingkungan dumasar kana perpustakaan gaya pihak katilu.

Keluhan utama ti developer kerangka pihak-katilu masalah masalah overriding warna elemen panganteur, tapi pamekar libadwaita berpungsi dina nyadiakeun API pikeun manajemén warna fléksibel, nu bakal kaasup dina release hareup. Diantara masalah anu teu direngsekeun, operasi anu leres tina widget kontrol gesture ngan ukur dina layar toél ogé disebatkeun - pikeun touchpads, operasi anu leres tina widget sapertos kitu bakal dipastikeun engké, sabab peryogi parobihan kana GTK.

Parobihan utama dina libadwaita dibandingkeun sareng libhandy:

  • Hiji set lengkep redesigned tina gaya. Téma Adwaita anu dianggo dina GNOME parantos dipiceun tina GTK sareng dimodernisasi, sareng téma lami parantos dibenerkeun dina GTK kalayan nami "Default". Salah sahiji bédana anu paling katingali antara libadwaita sareng téma "Default" nyaéta parobahan dina desain header jandela.
    Ngaleupaskeun perpustakaan Libadwaita 1.0 pikeun nyiptakeun antarmuka gaya GNOME
  • Mékanisme pikeun ngariung kelir pikeun elemen sarta ngarobah kelir bari aplikasi dijalankeun geus robah (masalah anu alatan kanyataan yén libadwaita switched pikeun SCSS, nu merlukeun hiji ngawangun deui pikeun ngarobah kelir). Pikeun ngarobah warna elemen, contona diperlukeun dina Web GNOME pikeun nandaan transisi ka modeu incognito, métode anu diusulkeun dina OS SD dipaké sarta dumasar kana nangtukeun daptar tetep tina kelir ngaranna via "@define-color". Nanging, warna seueur elemen antarmuka ayeuna diitung rélatif kana warna téks dasar sareng robih sacara otomatis, anu henteu ngamungkinkeun aplikasi pikeun ngontrol skéma warna sapinuhna (pamekar damel pikeun ngaleungitkeun watesan ieu).
    Ngaleupaskeun perpustakaan Libadwaita 1.0 pikeun nyiptakeun antarmuka gaya GNOMENgaleupaskeun perpustakaan Libadwaita 1.0 pikeun nyiptakeun antarmuka gaya GNOME
  • Kualitas tampilan parantos ningkat nalika nganggo téma poék kusabab panyorotan unsur anu langkung kontras. Warna aksen geus dijieun caang, sarta warna sorot sejen geus ditambahkeun, nu bisa ngarobah pikeun téma poék jeung lampu.
    Ngaleupaskeun perpustakaan Libadwaita 1.0 pikeun nyiptakeun antarmuka gaya GNOMENgaleupaskeun perpustakaan Libadwaita 1.0 pikeun nyiptakeun antarmuka gaya GNOME
  • Ditambahkeun sabagian ageung kelas gaya anyar pikeun dianggo dina aplikasi. Contona, ".pil" pikeun tombol rounded badag, kamampuhan pikeun ngagunakeun ".datar" dina GtkHeaderBar, ".aksen" pikeun nyetel hiji warna aksen dina labél, ".numeric" pikeun tipografi méja, ".kartu" pikeun ngagunakeun latar tukang. jeung kalangkang saperti dina daptar.
    Ngaleupaskeun perpustakaan Libadwaita 1.0 pikeun nyiptakeun antarmuka gaya GNOME
  • File SCSS monolithic ageung dibagi kana kumpulan file gaya anu langkung alit.
  • Ditambahkeun API pikeun netepkeun gaya desain poék sareng mode kontras anu luhur.
    Ngaleupaskeun perpustakaan Libadwaita 1.0 pikeun nyiptakeun antarmuka gaya GNOME
  • Dokuméntasi parantos didamel deui; toolkit gi-docgen ayeuna dianggo pikeun ngahasilkeunana.
    Ngaleupaskeun perpustakaan Libadwaita 1.0 pikeun nyiptakeun antarmuka gaya GNOME
  • API animasi geus ditambahkeun, nu bisa dipaké pikeun nyieun épék transisi nalika ngaganti hiji kaayaan kalawan sejen, kitu ogé pikeun nyieun animasi spring.
    Ngaleupaskeun perpustakaan Libadwaita 1.0 pikeun nyiptakeun antarmuka gaya GNOME
  • Pikeun tab dumasar kana AdwViewSwitcher, kamampuhan pikeun mintonkeun labél kalawan jumlah bewara unviewed geus ditambahkeun.
    Ngaleupaskeun perpustakaan Libadwaita 1.0 pikeun nyiptakeun antarmuka gaya GNOME
  • Ditambahkeun kelas AdwApplication (subclass of GtkApplication) pikeun otomatis ngamimitian Libadwaita sareng gaya beban.
  • Pilihan widget geus ditambahkeun kana simplify operasi baku: AdwWindowTitle pikeun nyetel judul jandela, AdwBin simplify kreasi subclasses anak, AdwSplitButton pikeun tombol digabungkeun, AdwButtonContent pikeun tombol kalawan ikon jeung labél a.
  • API diberesihan.

sumber: opennet.ru

Tambahkeun komentar