Выпуск пользовательского окружения Enlightenment 0.26 и библиотек EFL 1.27

После полутора лет разработки состоялся релиз пользовательского окружения Enlightenment 0.26, которое базируется на наборе библиотек EFL (Enlightenment Foundation Library) и виджетах Elementary. Выпуск доступен в исходных текстах, пакеты для дистрибутивов пока не сформированы.

Рабочий стол в Enlightenment формируют такие компоненты, как файловый менеджер, набор виджетов, панель запуска приложений и набор графических конфигураторов. Enlightenment очень гибок в переработке на свой вкус: графические конфигураторы не ограничивают пользователя в настройках и позволяют настроить все аспекты работы, предоставляя как высокоуровневые средства (изменение оформления, настройка виртуальных рабочих cтолов, управление шрифтами, разрешением экрана, раскладкой клавиатуры, локализацией и т.п.), так и возможности по низкоуровневому тюнингу (например, можно настроить параметры кэширования, графической акселерации, потребления энергии, логику работы оконного менеджера).

Для расширения функциональности предлагается использовать модули (гаджеты), а для переработки внешнего вида – темы оформления. В частности, доступны модули для отображения на десктопе календаря-планировщика, прогноза погоды, мониторинга, управления громкостью, оценки заряда аккумулятора и т.д. Составляющие Enlightenment компоненты жестко не привязаны друг к другу и могут быть использованы в других проектах или для создания специализированных окружений, таких как оболочки для мобильных устройств.

Из обязательных зависимостей заявлены EFL, libexif и libpam (только в Linux). Среди рекомендованных зависимостей, необходимых для достижения полноценной функциональности: connman для настройки сети; bluez5 для работы с Bluetooth; bc для встроенного калькулятора; pulseaudio для управления звуковыми устройствами; acpid для обработки различных аппаратных событий; packagekit для отслеживания системных обновлений; udisks2 для монтирования внешних дисков; ddcutil для управления подсветкой экрана; gdb для трассировки аварийных завершений.


Наиболее заметные новшества Enlightenment 0.26:

  • Добавлена настройка для использования протокола DDC (Display Data Channel) для управления подсветкой экрана.
  • Увеличен размер эскизов окон при предпросмотре.
  • Внесены исправления, связанные с реализацией поддержки протокола Wayland. В режиме работы с использованием Wayland обеспечен вывод экранной метки об экспериментальном характере поддержки Wayland.
  • Для гарантирования сохранения изменений конфигурации задействован новый API синхронизации изменений на диске, предоставляемый библиотекой Eet.
  • В файловом менеджере EFM реализована возможность добавления действий с файлами через desktop-файлы.
  • Добавлена поддержка отключения активации хранителя экрана через API org.freedesktop.ScreenSaver.
  • Добавлена поддержка DBus API, предоставляемого systemd-сервисом logind, для блокировки и разброкировки сеанса.
  • Добавлен watchdog-процесс для определения зависаний в основном цикле обработки событий.
  • Добавлен и задействован в системе уведомлений API для воспроизведения образцов звука.
  • Добавлена опция для использования X11-расширения Randr через вызов утилиты xrandr, вместо обращения через API.
  • Добавлены дополнительные параметры микширования звука.
  • Добавлена опция для прокрутки с ускорением.
  • Добавлена опция для управления установкой скрытого состояния окна через API NetWM (свойство _NET_WM_STATE_HIDDEN).

Одновременно проект Enlightenment опубликовал набор библиотек EFL 1.27 (Enlightenment Foundation Library), позволяющих создавать визуально привлекательные графические интерфейсы, отличающиеся компактностью, низким потреблением ресурсов и высокой производительностью. Несмотря на изначальное развитие в качестве базиса для окружения Enlightenment, компоненты EFL часто используются для построения интерфейсов потребительской электроники и мобильных устройств. Например, EFL является составной частью мобильной платформы Tizen, используются в бытовой технике Electrolux, продуктах Samsung, ProFUSION, Free.fr и Calaos.

В новой версии EFL:

  • В библиотеку Eina добавлены API для работы с относительными путями и хэшами sha1. Библиотека Eina предоставляет функции для работы с различными типами данных (массив, хэш, список, дерево) и полезные инструменты (работа с логами, оценка производительности, преобразование форматов и т.д.).
  • В Ecore добавлена возможность принудительного завершения выполнения exe-файла вместе с родительским процессом на платформе Windows. Ecore – библиотека для организации цикла обработки событий, имеющая в своём арсенале набор модулей для упрощения связанных с обработкой событий задач, таких как работа с X, Evas, потоками, сетевыми соединениями и т.п.
  • В elm_cnp, реализацию механизма копирования и вставки через буфер обмена, добавлена поддержка списков URL.
  • В библиотеку Evas, используемую для отрисовки текста, изображений и объектовна экране, добавлена поддержка загрузки и сохранения изображений в форматах JXL (JPEG XL) и QOI (Quite OK Image).
  • В Eet, библиотеку сериализации и десериализации данных, добавлен вызов для синхронизации изменений на диск.
  • Добавлена поддержка библиотеки LibreSSL 3.5.x и удалена поддержка GnuTLS.
  • В наборе виджетов Elementary предписано задействование стандартных пиктограмм из темы оформления.
  • В виджетах разрешена вставка из буфера обмена в поля для ввода паролей.

Release. Ссылка here.