Джонас Дресслер (Jonas Dressler) из проекта GNOME опубликовал отчёт о проделанной за последние несколько месяцев работе по развитию возможностей оболочки GNOME Shell для использования на смартфонах и планшетах с сенсорным экраном. Работу финансирует министерство образования Германии, предоставившее разработчикам GNOME грант в рамках инициативы по поддержке общественно значимых программных проектов.
С текущим состоянием разработки можно ознакомиться в ночных сборках GNOME OS. Кроме того, отдельно развиваются сборки дистрибутива postmarketOS, включающие подготовленные проектом изменения. В качестве платформы для тестирования наработок используется смартфон Pinephone Pro, но для тестирования также можно использовать Librem 5 и Android-смартфоны, поддерживаемые проектом postmarketOS.
Для разработчиков предлагаются отдельные ветки GNOME Shell и Mutter, в которых собраны имеющиеся изменения, связанные с созданием полноценной оболочки для мобильных устройств. В опубликованном коде обеспечена поддержка навигации с использованием экранных жестов, добавлена экранная клавиатура, включён код для адаптивной подстройки элементов интерфейса к размеру экрана, предложен оптимизированный для небольших экранов интерфейс для навигации по установленным приложениям.
Основные достижения, по сравнению с прошлым отчётом:
- Продолжено развитие двумерной навигации жестами, позволяющей вызвать обзорный режим вертикальным скользящим жестом и переключаться между приложениями горизонтальным жестом. В отличие от используемого в Android и iOS принципа построения интерфейса, управляемого жестами, в GNOME реализован общий интерфейс для запуска приложений и переключения между задачами, в то время как в Android используются разделение на три экрана (домашний экран, навигация по приложениями и переключение между задачами), а в iOS – на два (домашний экран и переключение между задачам). Реализованный подход позволил избавиться от использования неочевидных жестов, таких “провести по экрану, остановиться и подождать не убирая пальца”, и запутанной пространственной модели, вместо которых предложен общий интерфейс для просмотра имеющихся приложений и переключения между запущенными приложениями, активируемый простыми сдвигающими жестами.
- При поиске реализован вывод информацию в одну колонку, по аналогии с поиском в настольном окружении GNOME.
- В экранной клавиатуре полностью переделана организация ввода с использованием жестов, которая приближена к организации ввода, практикуемого в других мобильных ОС (например, нажатая клавиша отпускается после нажатия на другую клавишу). Улучшена эвристика для определения моментов, требующих показа экранной клавиатуры. Переделан интерфейс ввода emoji. Раскладка клавиатуры адаптирована для использования на более мелких экранах. Добавлены новые жесты для скрытия экранной клавиатуры, а также обеспечена автоматическое скрытие при попытке прокрутки.
- Экран со списком имеющихся приложений адаптирован для работы в портерном режиме, предложен новый стиль отображения каталогов, увеличены отступы для упрощения нажатия на смартфонах. Предоставлены возможности для группировки приложений.
- Предложен интерфейс для быстрого изменения настроек (экран Quick Settings), объединённый в одно выпадающее меню с интерфейсом для показа списка уведомлений. Меню вызывается скользящим жестом сверху-вниз и позволяет убирать отдельные уведомления горизонтальными скользящими жестами.
Планы на будущее:
- Перенос подготовленных изменений и нового API для управления жестами в основной состав GNOME (планируется осуществить в рамках цикла разработки GNOME 44).
- Создание интерфейса для работы с вызовами во время блокировки экрана.
- Поддержка экстренных вызовов.
- Возможность использования встроенного в телефоны вибромотора для создания эффекта тактильной обратной связи.
- Интерфейс для разблокировки устройства PIN-кодом.
- Возможность использования расширенных раскладок экранной клавиатуры (например для упрощения ввода URL) и адаптация раскладки для терминала.
- Переработка системы уведомлений, группировки уведомлений и вызова действий из уведомлений.
- Добавление фонарика на экран быстрых настроек.
- Поддержка перегруппировки рабочих пространств в обзорном режиме.
- Внесение изменений, которые позволят реализовать скруглённые углы миниатюр в обзорном режиме, прозрачные панели и возможность отрисовки приложениями в области под верхней и нижней панелями.