Працоўны стол Budgie пераходзіць з GTK на бібліятэкі EFL ад праекту Enlightenment

Распрацоўнікі дэсктоп асяроддзя Budgie прынялі рашэнне сысці ад выкарыстання бібліятэкі GTK у карысць бібліятэк EFL (Enlightenment Foundation Library), якія развіваюцца праектам Enlightenment. Вынікі міграцыі будуць прапанаваны ў выпуску Budgie 11. Характэрна, што гэта не першая спроба сыходу ад выкарыстання GTK – у 2017 годзе праект ужо прымаў рашэнне аб пераходзе на Qt, але пазней перагледзеў планы, у надзеі, што ў GTK4 сітуацыя зменіцца.

Нажаль GTK4 не апраўдаў чаканняў распрацоўнікаў з-за працягу поўнай арыентацыі толькі на запатрабаванні праекту GNOME, распрацоўнікі якога не прыслухоўваюцца да меркавання альтэрнатыўных праектаў і не жадаюць улічваць іх запатрабаванні. Асноўным стымулам для сыходу ад ужывання GTK паслужылі планы GNOME па змене працы з тэмамі афармлення, якія абцяжарваюць стварэнне ўласных варыянтаў афармлення ў іншых праектах. У прыватнасці, стыль інтэрфейсу платформы забяспечваецца бібліятэкай libadwaita, якая прывязана да тэмы афармлення Adwaita.

Стваральнікі іншых асяродкаў, якія не жадаюць цалкам паўтараць інтэрфейс GNOME, павінны падрыхтаваць свае бібліятэкі для апрацоўкі стылю, але ў гэтым выпадку ўзнікае разнабой у афармленні прыкладанняў, якія выкарыстоўваюць альтэрнатыўную бібліятэку і бібліятэку тэмы платформы. Штатных сродкаў для дадання дадатковых магчымасцяў у libadwaita няма, а спробы дадаць API Recoloring, які дазволіў бы лёгка змяняць колеры ў прыкладаннях, не ўдалося ўзгадніць з-за боязі, што выдатныя ад Adwaita тэмы могуць негатыўна паўплываць на якасць прыкладанняў для GNOME і ўскладніць аналіз праблем у карыстальнікаў. Такім чынам, распрацоўшчыкі альтэрнатыўных працоўных сталоў аказаліся прывязаныя да тэмы Adwaita.

З асаблівасцяў GTK4, якія выклікаюць незадаволенасць у распрацоўнікаў Budgie, таксама вылучаецца выключэнне магчымасці змены некаторых віджэтаў праз стварэнне субкласаў, пераклад у разрад састарэлых API X11, не спалучаных з Wayland (напрыклад, у Budgie выклікі GdkScreen і GdkX11Screen выкарыстоўваліся для вызначэння падлучэння і змены канфігурацый ), праблемы з пракруткай у віджэце GtkListView і знікненне магчымасці апрацаваць падзеі мышы і клавіятуры ў GtkPopovers, калі акно не ў фокусе.

Узважыўшы ўсе плюсы і мінусы пераходу на альтэрнатыўныя тулкіты распрацоўшчыкі прыйшлі да высновы, што найбольш аптымальным з'яўляецца пераход праекта на выкарыстанне бібліятэк EFL. Пераход на Qt прызнаны праблематычным з-за завязкі дадзенай бібліятэкі на C++ і нявызначанасці ў будучай ліцэнзійнай палітыцы. Вялікая частка кода Budgie напісана на мове Vala, але ў якасці варыянтаў для міграцыі дапушчалася выкарыстанне тулкіта на Сі ці Rust.

Што да дыстрыбутыва Solus, то праектам будзе працягнута фармаванне альтэрнатыўнай зборкі на аснове GNOME, але дадзеная зборка будзе пазначаная як некуріраваная праектам і вылучаная ў асобную секцыю на старонцы загрузкі. Пасля выхаду Budgie 11 распрацоўнікі ацэняць яго магчымасці ў параўнанні з GNOME Shell і прымуць рашэнне працягнуць фармаванне зборкі c GNOME або спыніць, падаўшы прылады для міграцыі на зборку з Budgie 11. У зборцы Solus з працоўным сталом Budgie 11 плануецца перагледзець склад прыкладанняў, замяніўшы прыкладанні GNOME на аналагі, у тым ліку распрацаваныя ўнутры праекта. Напрыклад, плануецца распрацаваць уласны цэнтр усталёўкі прыкладанняў.

Нагадаем, што працоўны стол Budgie прапануе ўласную рэалізацыю абалонкі GNOME Shell, панэлі, аплетаў і сістэмы вываду апавяшчэнняў. Для кіравання вокнамі выкарыстоўваецца аконны мэнэджар Budgie Window Manager (BWM), які з'яўляецца пашыранай мадыфікацыяй базавай убудовы Mutter. Аснову Budgie складае панэль, блізкая па арганізацыі працы да класічных панэляў працоўнага стала. Усе элементы панэлі з'яўляюцца аплетамі, што дазваляе гнутка наладжваць склад, змяняць размяшчэнне і замяняць рэалізацыі асноўных элементаў панэлі на свой густ. Сярод даступных аплетаў можна адзначыць класічнае меню прыкладанняў, сістэму пераключэння задач, вобласць са спісам адчыненых вокнаў, прагляд віртуальных працоўных сталоў, індыкатар кіравання сілкаваннем, аплет кіравання ўзроўнем гучнасці, індыкатар стану сістэмы і гадзіны.

Працоўны стол Budgie пераходзіць з GTK на бібліятэкі EFL ад праекту Enlightenment


Крыніца: opennet.ru

Дадаць каментар