mel.
Mel Education Launcher — сенсорное рабочее пространство для интерактивных досок и больших экранов на Linux.
Версия: 1.0
Основная среда: KDE Plasma / Wayland
Лицензия: GPL-3.0-or-later
Проблема
Обычный рабочий стол KDE рассчитан прежде всего на мышь, клавиатуру и работу с окнами. На интерактивной доске это создаёт лишние действия:
- преподавателю приходится искать приложения в системном меню;
- панели, рамки и другие окна перекрывают учебный материал;
- небольшие системные элементы неудобны для большого сенсорного экрана.
Решение
mel. устанавливается поверх существующей KDE Plasma и превращает её в единое touch-first пространство. Дистрибутив и системные приложения не заменяются: браузер, файловый менеджер и OpenBoard продолжают работать как обычные программы Linux.
Главный экран предоставляет три крупных сценария — файлы, интернет и доску. После запуска приложение растягивается до границ экрана, а поверх него остаётся панель mel. с рисованием, экранной клавиатурой и кнопкой возврата домой.
Возможности
- крупный сенсорный интерфейс для запуска учебных приложений;
- светлая и тёмная темы, готовые и пользовательские обои;
- первоначальная настройка только после первого запуска;
- непрозрачный экран ожидания до фактического появления приложения;
- безрамочное размещение окон на всей площади экрана;
- панель поверх приложений с ручкой, ластиком и очисткой рисунка;
- переключение между файлами, браузером и OpenBoard из оверлея;
- настраиваемая экранная клавиатура, удерживаемая поверх остальных окон;
- возврат на главный экран с автоматическим скрытием внешних окон;
- автоматическое скрытие курсора при обнаружении сенсорного устройства;
- отдельные основные и дополнительные настройки;
- работа в пользовательском профиле без обязательного доступа
root.
Интерфейс
Установка
Скачайте и распакуйте архив, затем выполните:
cd mel-1.0
chmod +x install.sh
./install.sh
Установщик:
- создаёт каталог
~/mel; - создаёт виртуальное окружение
~/mel/.venv; - устанавливает Python-зависимости из
requirements.txt; - добавляет
mel.в меню приложений; - включает пользовательский автозапуск при входе в KDE.
Основная установка не вызывает sudo и не изменяет системные файлы. Для скачивания PyQt5 требуется интернет или доступное локальное зеркало pip.
Чтобы установить mel. без автозапуска:
MEL_AUTOSTART=0 ./install.sh
Повторный запуск установщика обновляет файлы программы и сохраняет пользовательские настройки.
Системные требования
Обязательно:
- Linux x86_64;
- Python 3.7 или новее;
- модуль
venvдля Python; - графическая сессия Wayland или X11.
Рекомендуется:
- KDE Plasma 5 или 6;
-
gdbusдля интеграции с KWin; - OpenBoard для режима интерактивной доски;
- Onboard, Maliit или другая экранная клавиатура;
-
wmctrlиxpropдля расширенной поддержки X11.
Команды приложений можно изменить в разделе Настройки → Дополнительные → Приложения.
Onboard в Wayland
На некоторых системах Onboard требует доступа к /dev/uinput. mel. не запрашивает административный пароль и не устанавливает udev-правила самостоятельно. При необходимости системный администратор может установить правило, которое поставляется вместе с Onboard:
/usr/share/onboard/72-onboard-uinput.rules
Это необязательный административный шаг и не влияет на основную установку mel..
Автозапуск
Установщик создаёт:
~/.config/autostart/mel.desktop
После следующего входа в KDE mel. откроется автоматически. Автозапуск можно отключить стандартными средствами Plasma или удалить этот файл.
Совместимость
| Среда | Статус | Особенности |
|---|---|---|
| KDE Plasma 6 / Wayland | Основная | Полноэкранная область KWin, ожидание реального окна, устойчивый оверлей |
| KDE Plasma 5 / Wayland | Требует дополнительного тестирования | Используются совместимые KWin D-Bus и scripting API |
| niri / Wayland | Экспериментальная | Приложения в tiling-слое, оверлей во floating-слое |
| KDE, IceWM и другие WM / X11 | Поддерживается | Используются EWMH, wmctrl и override-redirect окна |
| Другие Wayland-композиторы | Базовая | Результат зависит от политики размещения окон композитора |
KDE Plasma является приоритетной и наиболее полно управляемой средой.
Как это работает
mel. не использует эксклюзивный системный fullscreen для основного окна и приложений. Вместо этого окна становятся безрамочными и занимают полную область экрана. Благодаря этому панель рисования может оставаться выше приложения.
В KDE приложение взаимодействует с KWin через краткоживущие D-Bus-скрипты:
- ищет окно строго по PID или классу приложения;
- ждёт подтверждения появления окна;
- снимает конфликтующее fullscreen-состояние;
- размещает окно на
FullScreenArea; - удерживает оверлей и экранную клавиатуру в верхнем слое;
- поднимает новые окна, открытые из файлового менеджера.
Настройки хранятся в mel.json внутри пользовательской установки ~/mel.
Структура проекта
mel-1.0/
├── assets/ # значок и встроенные фоны
├── main.py # приложение
├── install.sh # пользовательский установщик
├── requirements.txt # Python-зависимости
├── niri-mel.kdl # дополнительные правила niri
├── CHANGELOG.md
├── LICENSE
└── README.md
Статус проекта
Версия 1.0 предназначена для открытого тестирования и пилотного использования на интерактивных досках.
Идея проекта
mel. создавался как небольшая надстройка над уже используемым школьным Linux. Цель проекта — оставить надёжную основу KDE Plasma, но убрать из повседневного сценария преподавателя управление окнами и мелкими системными элементами.
Проект открыт для тестирования, предложений и совместной разработки.
Лицензия
mel. распространяется на условиях GNU General Public License v3.0 or later. Полный текст находится в файле LICENSE.
При разработке mel. использовался Codex как вспомогательный инструмент для написания, анализа и отладки кода, подготовки документации и проработки интерфейса. Все изменения проверялись и тестировались автором проекта.

