Командой разработчиков Komorebi WM был представлен значимый функциональный апдейт - добавление нового варианта компоновки окон под названием прокручиваемая компоновка (Scrolling layout). Это нововведение способно изменить опыт работы пользователей с оконным менеджером, особенно на одноэкранных системах, предлагая более гибкое и персонализированное распределение окон. В данной статье подробно рассматриваются особенности новой компоновки, технические детали её внедрения, а также потенциальные сценарии использования и дальнейшие перспективы развития функционала. Komorebi WM - это современный менеджер окон с открытым исходным кодом, ориентированный на продвинутых пользователей, которые ценят адаптивность и максимальный контроль над визуальной организацией рабочих процессов. Введение прокручиваемого варианта компоновки стало ответом на растущие потребности в удобстве управления большим числом окон, расположенных в пространстве рабочего стола.
Прокручиваемая компоновка, вдохновленная концепциями менеджера окон Niri, представляет собой бесконечную горизонтальную ленту, в которой расположены окна. Такая организация позволяет фокусироваться на одном окне, но при этом видеть рядом несколько соседних, представленных в виде колонок. Этот подход отличается от традиционных компоновок, где окна либо жестко делятся на части экрана, либо располагаются в виде сетки или стека. Одной из ключевых особенностей нового варианта является возможность настройки количества видимых колонок, что позволяет пользователю декларировать оптимальное число одновременно наблюдаемых окон в горизонтальном ряду. Управление этим параметром реализовано как в конфигурационных файлах с помощью новой структуры LayoutOptions, так и через специальную команду в CLI утилите komorebic, что дает гибкость в настройках в реальном времени.
Техническая реализация прокручиваемой компоновки реализована с учетом возможности динамического вычисления положений окон. При увеличении числа открытых окон в пределах рабочих областей происходит горизонтальный скроллинг, который обеспечивает видимость нужного фокуса. При этом разработчики указывают, что на данном этапе поддержки нескольких мониторов с этой компоновкой нет, поскольку позиционирование окон за пределами видимой части на соседних экранах создало бы сложности с корректным управлением. Механизм отображения предусматривает перерасчет размеров и позиций каждого окна с учетом текущего количества видимых колонок, ширины экрана и позиции окна в списке открытых. Важной задачей было учесть, чтобы прокрутка не создавала "пустых" или "липких" областей и обеспечивала плавный переход между видимыми окнами.
Благодаря продуманной логике выбранной версии, интерфейс комфортен в использовании для повседневной работы. Для улучшения визуальной узнаваемости в статус баре Komorebi была добавлена соответствующая иконка, символизирующая прокручиваемую компоновку. Выбор графического обозначения был направлен на отражение специфики функционала - полосы и символы, напоминающие прокрутку и разделение колонок. Нововведение также коснулось ключевых частей ядра менеджера окон. В частности, расширен функционал обработки направлений фокуса и переходов между окнами, чтобы обеспечить адекватную навигацию в рамках прокручиваемого пространства.
Обработка событий управления позиционированием и контролем видимости окон была адаптирована под логику бесконечного горизонтального полотна, что улучшило общую отзывчивость системы. Важная деталь - в архитектуре кода введен механизм сохранения информации о последнем видимом фрагменте полосы окон и текущем индексе фокусируемого окна. Эти данные используются при пересчёте компоновки, что способствует сохранению положения в списке даже при изменениях конфигурации или полном обновлении рабочего пространства. Несмотря на впечатляющий прогресс, разработчики отмечают текущие ограничения реализации, в частности, отсутствие поддержки мульти-экранных решений и необходимость доработки логики скрытия и восстановления окон при прокрутке. Эти аспекты озвучены как потенциальные зоны развития, и сообщество приглашено к участию в улучшении функционала за счет патчей и предложений.
Появление прокручиваемой компоновки в Komorebi WM особенно актуально для тех сценариев, где пользователи работают с многочисленными окнами программ, одновременно перенося внимание на разные задачи, без необходимости постоянного изменения размера или положения окон вручную. Такая компоновка экономит пространство и минимизирует визуальный шум, обеспечивая удобный доступ к нужным приложениям. Благодаря открытому исходному коду Komorebi WM, новая компоновка может стать предметом активного исследования и адаптации. Программисты и энтузиасты могут развивать систему, добавляя оптимизации под разные аппаратные конфигурации, внедряя улучшения в области мульти-мониторного управления и расширяя параметры настройки. Функциональное расширение Komorebi является примером того, как открытые проекты могут эволюционировать быстро и эффективно, отражая потребности реальных пользователей.
Новая прокручиваемая компоновка - это смелый шаг в сторону более гибких и интуитивных инструментов управления рабочим пространством, что открывает интересные перспективы для будущих версий. В итоге можно отметить, что введение прокручиваемой компоновки стало важной вехой в развитии Komorebi WM. Оно предлагает современный подход к организации окон на экране с учетом мобильности, минимализма и удобства работы. Со временем, по мере доработок и расширения функционала, такой тип компоновки может стать стандартом для пользователей, предпочитающих оптимизированное и эстетичное рабочее окружение без лишних усилий по настройке и управлению. .