В Gnome 45 вы не сможете использовать старые плагины из-за проблем совместимости.

Гном

GNOME — это среда рабочего стола и инфраструктура разработки для операционных систем GNU/Linux.

Несколько дней назад было объявлено информация об изменении что может не понравиться всем пользователям Gnome, и это в новой версии GNOME 45. Были внесены некоторые изменения, затрагивающие плагины окружения.

В частности, упоминается, что Изменена организация загрузки модулей в плагинах для GNOME Shell., что приведет к нарушению обратной совместимости и потребует внесения изменений в плагины.

Упоминается, что:

JavaScript зародился в веб-браузерах, чтобы добавить немного интерактивности к статичным страницам. Небольшие фрагменты кода не нужно было разбивать на несколько файлов, поэтому в языке не было механизма для этого.

Это стало проблемой, когда люди начали писать более крупные программы на JavaScript, поэтому в такие среды, как node.js и GJS, были добавлены собственные системы импорта для организации кода в несколько файлов. В результате разработчикам и инструментам было трудно перейти из одной среды в другую.

Как таковой, проблема, с которой будут иметься плагины разработан для предыдущих версий GNOME и что Они не смогут работать в следующей версии GNOME 45. происходит из-за нарушения совместимости при переключении с собственной системы импорта модулей, специфичной для среды выполнения JavaScript GJS (JavaScript GNOME на основе движка SpiderMonkey проекта Mozilla), на стандартный механизм импорта модуля JavaScript (ESM), описанный в ECMAScript.

Импорт устаревших версий по-прежнему поддерживается на Extensions.gnome.org, но вам нужно будет загрузить поддержку до и после GNOME 45 для поддержки как LTS, так и обычных дистрибутивов.

Кроме того, упоминается, что Различия сводятся к тому, что что ранее, помимо GNOME Shell, был использован объект «импорт»» для подключения модулей JavaScript и ссылок GObject, но теперь необходимо использовать оператор «импорт».

С другой стороны, также упоминается, что плагины, адаптированные для работы в GNOME 45, не смогут быть установлены в более старых версиях GNOME и что для обеспечения совместимости с различными версиями GNOME разработчики плагинов должны загружать два варианта плагинов в расширения. gnome.org — один для GNOME 45 и более поздних версий, а другой — для более старых версий GNOME.

Ну, есть небольшая загвоздка: модули и устаревший импорт на практике несовместимы.

Модули загружаются иначе, чем скрипты, и некоторые операторы, а именно импорт и экспорт, действительны только в модулях. Это означает, что попытка импортировать модуль с устаревшей системой приведет к синтаксической ошибке, если модуль использует одно из этих объявлений (примерно так же, как если бы Папа был католиком).

Модули также скрывают извне все, что не экспортируется явно. Таким образом, хотя технически возможно импортировать скрипт как модуль, это примерно так же полезно, как импорт пустого файла.

В конце концов разработчики упоминают, что для работы над GNOME 45 и более новые версии, расширения должны изменить код, связанный с загрузкой библиотек, убедитесь, что файл Extension.js содержит методы Enable()/disable() в классе по умолчанию, и при использовании prefs.js определите ExtensionPreferences. подкласс с методом fillPreferencesWindow.

Модифицированную версию плагина следует связать с новыми версиями GNOME Shell через параметр «shell-version»: [ «45» ]» в файле Metadata.json. Для GNOME более ранней версии, чем версия 45, вы можете создавать отдельные версии плагинов, также гарантируя, что они связаны с более старыми версиями через параметр оболочки-версии в файле метаданных.json. Вы можете протестировать измененные дополнения, используя сборки ОС GNOME.

Кроме того, предоставляется руководство по переносимости, с которым можно ознакомиться на странице следующую ссылку. И последнее, но не менее важное: стоит отметить, что запуск новой версии Gnome 45 запланирован на 20 сентября. (на завтра).

Если вы интересно узнать о нем больше, вы можете проверить детали в по следующей ссылке.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.