В GNOME 45 будет нарушена совместимость со старыми дополнениями

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3258
Зарегистрирован: 20.08.2022

#

В GNOME 45 будет нарушена совместимость со старыми дополнениями
Дата публикации:Mon, 04 Sep 2023 07:14:31 +0300




В пользовательском окружении GNOME 45, релиз которого намечен на 25 сентября, изменена организация загрузки модулей в дополнениях к GNOME Shell, что приведёт к нарушению обратной совместимости и потребует внесения изменений в дополнения. Дополнения, разработанные для прошлых версий GNOME, не смогут работать в выпуске GNOME 45, а дополнения, адаптированные для работы в GNOME 45, не смогут устанавливаться в прошлых версиях GNOME. Для сохранения совместимости с разными выпусками GNOME разработчикам дополнений необходимо загрузить в каталог extensions.gnome.org два варианта дополнения: один для GNOME 45 и следующих за ним выпусков, а другой для старых выпусков GNOME.




Нарушение совместимости вызвано переходом GNOME Shell с собственной системы импорта модулей, специфичной для JavaScript runtime GJS (GNOME JavaScript на базе движка SpiderMonkey от проекта Mozilla), на стандартный механизм импорта, JavaScript-модулей (ESM), описанный в спецификации ECMAScript 6 и применяемый в web-приложениях. Отличия сводятся к тому, что ранее в дополнениях к GNOME Shell для подключения JavaScript-модулей и GObject-обвязок применялся объект "imports", а теперь должен использоваться оператор "import".




// Было
const GLib = imports.gi.GLib;
const Main = imports.ui.main;

imports.gi.versions.Soup = '3.0';
const Soup = imports.gi.Soup;

// Стало
import GLib from 'gi://GLib';
import * as Main from 'resource:///org/gnome/shell/ui/main.js';

import Soup from 'gi://Soup?version=3.0';




Для работы в GNOME 45 и более новых выпусках в дополнениях необходимо изменить код, связанный с загрузкой библиотек, обеспечить присутствие в файле extension.js методов enable()/disable() в классе default и при использовании prefs.js определить подкласс ExtensionPreferences с методом fillPreferencesWindow. Изменённую версию дополнения следует привязать к новыми выпускам GNOME Shell через параметр '"shell-version": [ "45" ]' в metadata.json. Для GNOME до выпуска 45 можно сформировать отдельные варианты дополнений, также обеспечив в них привязку к старым версиям через параметр shell-version в metadata.json. Протестировать изменённые дополнения можно воспользовавшись сборками GNOME OS.






Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=59711

Жизнь за Нер'зула!

vall
Аватара пользователя
Администрация
Сообщения: 687
Зарегистрирован: 09.08.2022

#

Без комментариев.
RusWolf
Аватара пользователя
Сообщения: 192
Зарегистрирован: 16.08.2022

#

Всё как всегда, ничего нового.

Arch Linux x86-64 на BTRFS
https://t.me/arch_linuxru

Ответить