Нашри китобхонаи Libadwaita 1.0 барои эҷоди интерфейсҳои услуби GNOME

Лоиҳаи GNOME аввалин нашри устувори китобхонаи Либадвайтаро нашр кард, ки маҷмӯи ҷузъҳо барои ороиши интерфейси корбарро дар бар мегирад, ки ба GNOME HIG (Дастурҳои интерфейси инсонӣ) мувофиқат мекунад. Китобхона виджетҳо ва объектҳои тайёрро барои сохтани замимаҳое дар бар мегирад, ки ба услуби умумии GNOME мувофиқанд, ки интерфейси онҳоро метавон ба экранҳои ҳама гуна андоза мутобиқ кардан мумкин аст. Рамзи китобхона дар C навишта шудааст ва таҳти иҷозатномаи LGPL 2.1+ паҳн карда мешавад.

Нашри китобхонаи Libadwaita 1.0 барои эҷоди интерфейсҳои услуби GNOME

Китобхонаи либадвайта дар якҷоягӣ бо GTK4 истифода мешавад ва ҷузъҳои мавзӯи Adwaita-ро дар бар мегирад, ки дар GNOME истифода мешаванд, ки аз GTK ба китобхонаи алоҳида интиқол дода шудаанд. Рамзи либадвайта ба китобхонаи libhandy асос ёфтааст ва ҳамчун вориси ин китобхона ҷойгир шудааст, ки дар ибтидо барои сохтани интерфейси мутобиқшавӣ дар платформаҳои мобилӣ дар асоси технологияҳои GNOME сохта шудааст ва дар муҳити Phosh GNOME барои смартфони Librem 5 такмил дода шудааст.

Китобхона виҷетҳои стандартиро дар бар мегирад, ки унсурҳои гуногуни интерфейсро дар бар мегиранд, ба монанди рӯйхатҳо, панелҳо, блокҳои таҳриркунӣ, тугмаҳо, ҷадвалҳо, шаклҳои ҷустуҷӯ, қуттиҳои муколама ва ғайра. Виҷетҳои пешниҳодшуда ба шумо имкон медиҳанд, ки интерфейсҳои универсалӣ эҷод кунед, ки ҳам дар экранҳои калони компютерҳо ва ноутбукҳо ва ҳам дар экранҳои хурди сенсории смартфонҳо бефосила кор мекунанд. Интерфейси барнома вобаста ба андозаи экран ва дастгоҳҳои вурудии дастрас ба таври динамикӣ тағир меёбад. Китобхона инчунин маҷмӯи услубҳои Adwaita-ро дар бар мегирад, ки намуди зоҳирӣ ва эҳсосро ба дастурҳои GNOME бидуни ниёз ба мутобиқсозии дастӣ меорад.

Гузаронидани унсурҳои ороиши GNOME ба китобхонаи алоҳида имкон медиҳад, ки тағиротҳои мушаххаси GNOME аз GTK алоҳида таҳия карда шаванд, ки ба таҳиягарони GTK имкон медиҳад, ки ба маводи асосӣ тамаркуз кунанд ва ба таҳиягарони GNOME имкон медиҳанд, ки бидуни таъсир ба худи GTK тағиротҳои услуби дилхоҳашонро зудтар ва чандир пеш баранд. Аммо, ин равиш барои таҳиягарони муҳитҳои корбарии GTK-и сеюм, ки маҷбуранд, ки ё libadwaita-ро истифода баранд ва ба хусусиятҳои GNOME мутобиқ шаванд ва тарҳи онро такрор кунанд ё версияи худии китобхонаи услуби GTK-ро таҳия кунанд ва пайдоиши замимаҳои GNOME гетерогенӣ дар муҳитҳо дар асоси китобхонаҳои услуби сеюм.

Шикояти асосии таҳиягарони чаҳорчӯбаи тарафи сеюм ба мушкилот бо барҳам додани рангҳои унсурҳои интерфейс дахл дорад, аммо таҳиягарони libadwaita барои пешниҳоди API барои идоракунии рангҳои фасеҳ кор мекунанд, ки он ба нашри оянда дохил карда мешавад. Дар байни мушкилоти ҳалношуда, кори дурусти виджетҳои идоракунии имову ишора танҳо дар экранҳои сенсорӣ низ зикр шудааст - барои сенсорҳо кори дурусти ин виджетҳо дертар таъмин карда мешавад, зеро онҳо тағиротро дар GTK талаб мекунанд.

Тағироти асосӣ дар либадвайта дар муқоиса бо libhandy:

  • Маҷмӯи услубҳои комилан аз нав тарҳрезӣшуда. Мавзӯи Adwaita, ки дар GNOME истифода мешавад, аз GTK хориҷ ва навсозӣ карда шуд ва мавзӯи кӯҳна дар GTK бо номи "Пешфарз" ислоҳ карда шуд. Яке аз фарқиятҳои назаррас байни libadwaita ва мавзӯи "Пешфарз" ин тағирот дар тарҳрезии сарлавҳаҳои тиреза мебошад.
    Нашри китобхонаи Libadwaita 1.0 барои эҷоди интерфейсҳои услуби GNOME
  • Механизмҳои пайваст кардани рангҳо ба унсурҳо ва тағир додани рангҳо ҳангоми кор кардани барнома тағир дода шудаанд (мушкилот аз он иборат аст, ки либадвайта ба SCSS гузашт, ки барои тағир додани рангҳо аз нав сохтанро талаб мекунад). Барои тағир додани рангҳои элементҳо, ки масалан дар GNOME Web барои қайд кардани гузариш ба ҳолати incognito талаб карда мешавад, усули дар ОС ибтидоӣ пешниҳодшуда истифода мешавад ва ба муайян кардани рӯйхати собит рангҳои номбаршуда тавассути "@define-color" асос ёфтааст. Бо вуҷуди ин, ҳоло рангҳои бисёр унсурҳои интерфейс нисбат ба ранги матни асосӣ ҳисоб карда мешаванд ва ба таври худкор тағир меёбанд, ки ин ба барномаҳо имкон намедиҳад, ки схемаи рангҳоро пурра идора кунанд (таҳиягарон барои бартараф кардани ин маҳдудият кор мекунанд).
    Нашри китобхонаи Libadwaita 1.0 барои эҷоди интерфейсҳои услуби GNOMEНашри китобхонаи Libadwaita 1.0 барои эҷоди интерфейсҳои услуби GNOME
  • Сифати намоиш ҳангоми истифодаи мавзӯъҳои торик бо сабаби равшан кардани бештари муқоисавии унсурҳо баланд шуд. Ранги аксент равшантар карда шуд ва ранги дигари равшанӣ илова карда шуд, ки метавонад барои мавзӯъҳои торик ва равшан тағйир ёбад.
    Нашри китобхонаи Libadwaita 1.0 барои эҷоди интерфейсҳои услуби GNOMEНашри китобхонаи Libadwaita 1.0 барои эҷоди интерфейсҳои услуби GNOME
  • Қисми зиёди синфҳои услуби нав барои истифода дар барномаҳо илова карда шуд. Масалан, ".pill" барои тугмаҳои ҳамаҷонибаи калон, қобилияти истифодаи ".flat" дар GtkHeaderBar, ".accent" барои гузоштани ранги аксент дар тамғакоғазҳо, ".numeric" барои типографияи ҷадвал, ".card" барои истифодаи замина ва соя мисли дар рӯйхатҳо.
    Нашри китобхонаи Libadwaita 1.0 барои эҷоди интерфейсҳои услуби GNOME
  • Файлҳои калони монолитии SCSS ба маҷмӯи файлҳои услуби хурдтар тақсим мешаванд.
  • API барои танзими услуби тарроҳии торик ва режими контрасти баланд илова карда шудааст.
    Нашри китобхонаи Libadwaita 1.0 барои эҷоди интерфейсҳои услуби GNOME
  • Ҳуҷҷатҳо аз нав кор карда шуданд; ҳоло асбоби gi-docgen барои тавлиди он истифода мешавад.
    Нашри китобхонаи Libadwaita 1.0 барои эҷоди интерфейсҳои услуби GNOME
  • API-и аниматсия илова карда шуд, ки он метавонад барои эҷоди эффектҳои гузариш ҳангоми иваз кардани як ҳолат бо ҳолати дигар ва инчунин барои эҷоди аниматсияи баҳорӣ истифода шавад.
    Нашри китобхонаи Libadwaita 1.0 барои эҷоди интерфейсҳои услуби GNOME
  • Барои ҷадвалбандиҳо дар асоси AdwViewSwitcher, қобилияти намоиш додани тамғакоғазҳо бо шумораи огоҳиҳои диданашуда илова карда шудааст.
    Нашри китобхонаи Libadwaita 1.0 барои эҷоди интерфейсҳои услуби GNOME
  • Синфи AdwApplication (зерсинфи GtkApplication) барои ба таври худкор оғоз кардани Libadwaita ва боркунии услубҳо илова карда шуд.
  • Интихоби виҷетҳо барои содда кардани амалиёти стандартӣ илова карда шудаанд: AdwWindowTitle барои танзими унвони равзана, AdwBin барои содда кардани эҷоди зерсинфҳои кӯдакона, AdwSplitButton барои тугмаҳои якҷоя, AdwButtonContent барои тугмаҳо бо нишона ва нишона.
  • API тоза карда шуд.

Манбаъ: opennet.ru

Илова Эзоҳ