Rakirina pirtûkxaneya Libadwaita 1.0 ji bo afirandina navgînên şêwaza GNOME

Projeya GNOME yekem serbestberdana stabîl a pirtûkxaneya Libadwaita weşand, ku tê de komek pêkhateyên ji bo şêwaza navbeynkariya bikarhêner a ku li gorî GNOME HIG (Rêbernameyên Navbera Mirovan) dihewîne. Pirtûkxane ji bo avakirina sepanên ku li gorî şêwaza GNOME ya giştî tevdigerin, widgetên hazir û tiştên amade vedihewîne, ku navbeynkariya wê dikare bi rengekî adapteyî li ser ekranên her mezinahiyê were sererast kirin. Koda pirtûkxaneyê bi C hatiye nivîsandin û di bin lîsansa LGPL 2.1+ de tê belavkirin.

Rakirina pirtûkxaneya Libadwaita 1.0 ji bo afirandina navgînên şêwaza GNOME

Pirtûkxaneya libadwaita bi GTK4 re tê bikaranîn û pêkhateyên mijara Adwaita ya ku di GNOME-ê de têne bikar anîn, ku ji GTK-ê hatine veguheztin nav pirtûkxaneyek cihê vedihewîne. Koda libadwaita li ser bingeha pirtûkxaneya libhandy-yê ye û wekî cîgirê vê pirtûkxaneyê ye, ku bi eslê xwe ji bo avakirina navgînek adaptîv di platformên mobîl de li ser bingeha teknolojiyên GNOME-ê hatî çêkirin, û di hawîrdora Phosh GNOME de ji bo smartphone Librem 5 hate xemilandin.

Pirtûkxane widgetên standard vedihewîne ku hêmanên cihêreng ên navberê vedihewîne, wekî navnîş, panel, blokên guherandinê, bişkok, tablo, formên lêgerînê, qutiyên diyalogê, hwd. Widgetên pêşniyar dihêlin ku hûn pêwendiyên gerdûnî biafirînin ku hem li ser ekranên mezin ên PC û laptopan, hem jî li ser ekranên piçûk ên têlefonê yên têlefonê bi rengek bêkêmasî tevbigerin. Navbera serîlêdanê bi rengek dînamîkî li gorî mezinahiya ekranê û amûrên têketina berdest diguhezîne. Pirtûkxane di heman demê de komek şêwazên Adwaita-yê jî vedihewîne ku bêyî hewcedariya xwerûkirina destan xuyang û hestê rêwerzên GNOME-yê tîne.

Veguheztina hêmanên şêwazê GNOME di pirtûkxaneyek cihêreng de dihêle ku guhertinên GNOME-taybetî ji GTK-ê veqetandî werin pêşve xistin, rê dide pêşdebirên GTK ku balê bikişîne ser tiştên bingehîn û pêşdebirên GNOME ku bi leztir û nermtir guheztinên şêwazê ku ew dixwazin bêyî ku bandorê li GTK-ê bikin pêş bixin. Lêbelê, ev nêzîkatî ji pêşdebirên hawîrdorên bikarhêner-based GTK-ê yên sêyemîn re dijwariyan çêdike, yên ku neçar in ku yan libadwaita bikar bînin û xwe bi taybetmendiyên GNOME-ê veguhezînin û sêwirana wê dubare bikin, an jî guhertoya xwe ya pirtûkxaneya şêwaza GTK pêşve bibin û qebûl bikin. xuyangkirina sepanên GNOME heterojen li hawîrdorên ku li ser bingeha pirtûkxaneyên şêwaza partiya sêyemîn in.

Giliyê sereke ji pêşdebirên çarçoweya partiya sêyemîn pirsgirêkên bi derbaskirina rengên hêmanên navbeynê re têkildar e, lê pêşdebirên libadwaita li ser peydakirina API-yek ji bo rêveberiya rengîn a maqûl dixebitin, ku dê di berdanek pêşerojê de were nav kirin. Di nav pirsgirêkên neçareserkirî de, xebata rast a widgetên kontrolê yên tevgerê tenê li ser ekranên destikê jî tê behs kirin - ji bo touchpads, xebata rast a widgetan dê paşê were misoger kirin, ji ber ku ew hewceyê guhartinên GTK-ê ne.

Guhertinên mezin ên libadwaita li gorî libhandy:

  • Komek şêweyên bi tevahî ji nû ve hatî sêwirandin. Mijara Adwaita ya ku di GNOME-ê de tê bikar anîn ji GTK hate rakirin û nûjen kirin, û mijara kevn di GTK de bi navê "Default" hate rast kirin. Yek ji cûdahiyên herî berbiçav di navbera libadwaita û mijara "Default" de guhertina sêwirana sernavên pencereyê ye.
    Rakirina pirtûkxaneya Libadwaita 1.0 ji bo afirandina navgînên şêwaza GNOME
  • Mekanîzmayên girêdana rengan bi hêmanan û guheztina rengan dema ku serîlêdan dimeşe hatine guheztin (pirsgirêk ji ber vê yekê ye ku libadwaita veguherî SCSS, ku ji nû ve avakirina rengan hewce dike). Ji bo guheztina rengên hêmanan, ku wek mînak di GNOME Webê de ji bo nîşankirina derbasbûna moda nenaskirî tê xwestin, rêbaza ku di OS-ya bingehîn de hatî pêşniyar kirin tê bikar anîn û li ser bingeha destnîşankirina navnîşek sabît a rengên binavkirî bi rêya "@define-color" ve girêdayî ye. Lêbelê, rengên gelek hêmanên navberê naha li gorî rengê nivîsa bingehîn têne hesibandin û bixweber diguhezin, ku rê nade serîlêdan bi tevahî nexşeya rengan kontrol bikin (pêşdebir dixebitin ku vê sînordariyê ji holê rakin).
    Rakirina pirtûkxaneya Libadwaita 1.0 ji bo afirandina navgînên şêwaza GNOMERakirina pirtûkxaneya Libadwaita 1.0 ji bo afirandina navgînên şêwaza GNOME
  • Di dema karanîna mijarên tarî de ji ber ronîkirina hêmanên berevajîtir, kalîteya pêşandanê zêde bûye. Rengê devokê ronîtir bûye, û rengek din a balkêş hatî zêdekirin, ku dikare ji bo mijarên tarî û sivik biguhezîne.
    Rakirina pirtûkxaneya Libadwaita 1.0 ji bo afirandina navgînên şêwaza GNOMERakirina pirtûkxaneya Libadwaita 1.0 ji bo afirandina navgînên şêwaza GNOME
  • Beşek mezin ji dersên şêwaza nû ji bo karanîna di serlêdanan de zêde kir. Mînakî, ".pill" ji bo bişkokên girover ên mezin, şiyana karanîna ".flat" li GtkHeaderBar, ".accent" ji bo danîna rengê devokê di etîketan de, ".numeric" ji bo tîpografiya tabloyê, ".kart" ji bo karanîna paşxanê. û siya wekî di lîsteyan de.
    Rakirina pirtûkxaneya Libadwaita 1.0 ji bo afirandina navgînên şêwaza GNOME
  • Pelên SCSS yên monolîtîk ên mezin li berhevokek pelên şêwaza piçûktir têne dabeş kirin.
  • Ji bo danîna şêwaza sêwirana tarî û moda berevajî ya bilind API lê zêde kir.
    Rakirina pirtûkxaneya Libadwaita 1.0 ji bo afirandina navgînên şêwaza GNOME
  • Belgekirin ji nû ve hate xebitandin; amûra gi-docgen naha ji bo hilberîna wê tê bikar anîn.
    Rakirina pirtûkxaneya Libadwaita 1.0 ji bo afirandina navgînên şêwaza GNOME
  • API-ya anîmasyonek hate zêdekirin, ku dikare ji bo afirandina bandorên veguhêz dema ku dewletek bi dewletek din veguhezîne, û her weha ji bo afirandina anîmasyonek biharê were bikar anîn.
    Rakirina pirtûkxaneya Libadwaita 1.0 ji bo afirandina navgînên şêwaza GNOME
  • Ji bo tabloyên li ser bingeha AdwViewSwitcher, şiyana nîşankirina etîketan bi hejmara ragihandinên nedîtî ve hatî zêdekirin.
    Rakirina pirtûkxaneya Libadwaita 1.0 ji bo afirandina navgînên şêwaza GNOME
  • Dersa AdwApplication (binavka GtkApplication) lê zêde kir ku bixweber Libadwaita bide destpêkirin û şêwazên barkirinê.
  • Hilbijartinek widgetan ji bo hêsankirina karûbarên standard hatine zêdekirin: AdwWindowTitle ji bo danîna sernavê pencereyê, AdwBin ji bo hêsankirina çêkirina binklaskên zarokan, AdwSplitButton ji bo bişkokên hevgirtî, AdwButtonContent ji bo bişkokên bi îkon û etîketekê.
  • API paqij kirin.

Source: opennet.ru

Add a comment