В запланированном на середину октября выпуске KDE Plasma 6.8 появится функция KWin, позволяющая оконному менеджеру добавлять серверные тени для приложений, которые не имеют собственных теней.
Тени окон обычно может отрисовывать либо композитор, либо само приложение. Многие GTK-приложения используют клиентские декорации и отрисовывают собственные тени, тогда как Qt-приложения обычно запрашивают у композитора отрисовку как декорации окна, так и его тени.
Однако некоторые приложения не делают ни того, ни другого, что приводит к появлению окон с квадратными углами, без теней, визуально несоответствующих остальному рабочему столу Plasma.
Эта новая функция, недавно добавленная в KWin для Plasma 6.8, исправляет эту проблему. По словам разработчика KWin Влада Загороднего, она позволяет принудительно использовать композиторные тени на таких окнах, помогая сторонним приложениям более плавно интегрироваться с Plasma.
Пользователи уже могут добиться похожего результата в Plasma 6.7, но для этого требуется несколько ручных действий: нужно создать правило окна KWin для принудительных серверных декораций и настроить переопределение для конкретного окна в параметрах декораций Breeze, чтобы скрыть заголовок.
Plasma 6.8 автоматизирует этот обходной путь с помощью нового правила окна “Window manager draws titlebar, frame, and shadows”, которое заменяет прежнюю опцию “No titlebar and frame” и предоставляет более прямой способ запросить композиторные декорации или тени для отдельных приложений.
Однако эта функция не будет работать сразу со всеми сторонними оконными декорациями. Темы декораций должны явно поддерживать новый стиль «только тень» в дополнение к стандартным декорациям с заголовком. Они также должны корректировать свой внешний вид в зависимости от выбранного стиля, например, скрывая заголовок, но сохраняя рамку и тень.
KWin будет автоматически добавлять тени подходящим X11-окнам, если не обнаружит ни серверных декораций, ни клиентских теней. Многие затронутые X11-приложения выиграют от этого без дополнительной настройки.
В среде Wayland ситуация сложнее. KWin не может надежно определить, использует ли Wayland-приложение субповерхности для отрисовки собственной тени или других окружающих визуальных элементов. Поэтому автоматическое добавление еще одной тени может привести к некорректному отображению.
По этой причине KWin не будет автоматически применять новое поведение к Wayland-окнам. Пользователям потребуется вручную создавать правила окон. Загородний отметил, что будущий протокол Wayland может позволить приложениям явно указывать, следует ли использовать композиторные тени.
Подробнее см. запись в блоге Загороднего.






Пока нет комментариев. Будьте первым!