В GNOME 45 будет нарушена совместимость со старыми дополнениями
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
В пользовательском окружении 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://blogs.gnome.org/shell-...)
- OpenNews: Инициатива по созданию сборок GNOME OS для реального оборудования
- OpenNews: GNOME Shell и Mutter завершили переход на GTK4
- OpenNews: Выпуск библиотеки Libadwaita 1.3 для создания интерфейсов в стиле GNOME
- OpenNews: Опубликовано пользовательское окружение GNOME 44
- OpenNews: В GNOME планируют изменить модель управления окнами
Похожие новости:
- Уязвимости в PHP, GStreamer, Xen, Node.js, Python, GNOME Files и librsvg
- GNOME Shell и Mutter завершили переход на GTK4
- Релиз браузерного движка WebKitGTK 2.38.0 и web-браузера Epiphany 43
- GNOME представил инструментарий для сбора телеметрии
- В web-браузер Epiphany (GNOME Web) добавлена поддержка WebExtension
- Утилита, превращающая обычные браузеры на основе Firefox в Developer Edition
- В Firefox началось тестирование третьей версии манифеста Chrome
- Стратегия проекта GNOME в 2022 году
- Патент, использованный для нападок на GNOME, признан недействительным
- Доступна пользовательская оболочка Material Shell 42
Теги для поиска: #_gnome, #_extention
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 16:39
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
В пользовательском окружении 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'; =========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 23-Ноя 16:39
Часовой пояс: UTC + 5