Перейти к содержимому

Модули виджетов

Модуль виджетов это файл .jar, который добавляет виджеты в лаунчер. Установщика нет и реестра, который надо обновлять, тоже нет: файл либо лежит в папке виджетов, либо нет.

Система Путь
Windows %LOCALAPPDATA%\Nexira\widgets
macOS ~/Library/Application Support/Nexira/widgets
Linux ~/.local/share/nexira/widgets

На Linux папка следует за XDG_DATA_HOME, если он задан. Если каталог данных перенесён (Настройки, “Перенести каталог данных”) или задан NEXIRA_DATA_DIR, папка виджетов переезжает вместе с ним.

Если папки ещё нет, создайте её.

  1. Положите .jar в папку виджетов.
  2. Перезапустите лаунчер.

Модули читаются один раз, при запуске. Jar, добавленный при работающем лаунчере, подхватится при следующем старте.

Удалите jar и перезапустите лаунчер. Ничего лишнего не остаётся.

Лаунчер пишет в лог то, что нашёл. Каждый загруженный модуль виден по имени вместе с виджетами, которые он принёс:

Widget module 'pixelplayer' (Pixel Player) loaded from widget-pixelplayer.jar with 1 widget(s): pixelplayer.bar

Отклонённый модуль тоже виден, с причиной:

Widget module old-thing.jar was not loaded: built for widget API 1, this launcher speaks 2

Папка логов лежит рядом с папкой виджетов, называется logs. В настройках есть ссылка на неё в разделе диагностики.

Собран под другую версию лаунчера. Виджеты компилируются против интерфейса лаунчера, и модуль, собранный против другого, ломается незаметными способами. Лаунчер отказывается сразу, вместо этого. Поищите более свежую сборку модуля.

Это не модуль виджетов. Обычный jar, случайно попавший в папку, игнорируется с записью в лог. Ничего не ломается.

Повреждённый файл. Обрезанный или битый jar пропускается. Остальные модули в папке загружаются как обычно.

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

Относитесь к модулю виджетов как к моду для игры. Ставьте те, чей исходный код можно посмотреть, и оттуда, куда вернётесь ещё раз.

Смотрите Как написать модуль виджета.