В KWin для Plasma 6.8 появилась отрисовка теней на стороне сервера: окна Steam, Discord и других приложений с клиентскими декорациями автоматически получают тень, обводку и скругление углов. Параллельно в «Системный монитор» добавили привязку процессов к ядрам процессора, а для виджета «Панель задач» ввели глобальные комбинации клавиш. Обзор охватывает изменения в разработке KDE Plasma за неделю к : волна исправлений последних недель пошла на спад, и на первый план вышли новые функции с доводкой интерфейса.
Тени для окон Steam и Discord

Steam, Discord и ряд других приложений рисуют заголовок и рамку окна самостоятельно, но без тени, обводки и скругления углов, из-за чего такие окна выбиваются из общего оформления рабочего окружения. Начиная с Plasma 6.8 композитный менеджер KWin распознаёт подобные окна и отрисовывает недостающие элементы на стороне сервера. Подробный разбор реализации опубликован в блоге разработчика KWin, а основная часть изменений принята в запросе на слияние kwin #9147; правки затронули также тему Breeze и библиотеку KDecoration.
Клиентские декорации (client-side decorations, CSD) – подход, при котором заголовок, рамку и кнопки окна отрисовывает само приложение. При серверных декорациях эти элементы формирует оконный менеджер – в Plasma за них отвечает KWin с темой оформления Breeze.
По данным из того же блога, в Plasma 6.7 похожего результата можно добиться вручную: через правило окна с принудительными серверными декорациями и скрытие заголовка в настройках Breeze. В 6.8 эти шаги выполняются автоматически, хотя работает механизм не с любой темой декораций – тема должна явно заявить поддержку режима «только тень» в своих метаданных.
Привязка процессов к ядрам в «Системном мониторе»

Приложение «Системный монитор» научили назначать процессам конкретные ядра или группы ядер – задавать привязку к процессорам, известную как CPU affinity. Соответствующая заявка в баг-трекере KDE закрыта в рамках Plasma 6.8.
Привязка к процессорам (CPU affinity) – ограничение списка ядер, на которых планировщик операционной системы вправе выполнять конкретный процесс. Применяется, например, чтобы развести нагрузку по ядрам разного типа или снизить конкуренцию за кеш.
Виджет «Панель задач» получил глобальные комбинации клавиш для переключения между задачами и изменения их порядка – запрос на слияние plasma-desktop #3819 также войдёт в Plasma 6.8.
Страница «Поведение окон» переведена на QML

Страницу «Поведение окон» в «Параметрах системы» перевели на QML и попутно осовременили, приведя к виду большинства остальных страниц приложения. Изменение войдёт в Plasma 6.8.
Уже в выпуске 6.7.4 приложениям, работающим через портал глобальных комбинаций клавиш, разрешили переименовывать свои комбинации – для этого достаточно запросить их повторную регистрацию.
Исправления в выпусках 6.6.7, 6.7.3 и 6.7.4
Основной объём исправлений недели распределён по трём обновлениям стабильных веток:
- Plasma 6.6.7 – страница «Эффекты» в «Параметрах системы» корректно обрабатывает эффекты KWin, значения по умолчанию которых переопределены на уровне дистрибутива;
- Plasma 6.7.3 – устранена недавняя регрессия, из-за которой процесс ksystemstats периодически завершался сбоем при выходе системы из сна;
- Plasma 6.7.3 – исправлена ещё одна регрессия, вызывавшая подтормаживания и рывки на отдельных сайтах с аппаратным ускорением отрисовки на системах с определёнными видеокартами;
- Plasma 6.7.3 – система снова уходит в сон по расписанию, даже если работу отдельных мониторов прервали прямо в момент их отключения;
- Plasma 6.7.4 – устранена одна из распространённых причин сбоя Discover при установке обновлений;
- Plasma 6.7.4 – сервер удалённого рабочего стола Plasma теперь точно отражает использование полосы пропускания;
- Plasma 6.7.4 – на странице настроек указателя мыши (Pointers) в «Параметрах системы» при масштабировании экрана полностью видны все варианты размера курсора;
- Plasma 6.7.4 – в Discover устранены два дефекта вёрстки: при подключении нескольких механизмов установки пакетов и при просмотре крупных элементов на странице установленных приложений;
- Plasma 6.7.4 – параметр, включающий вызов KRunner при наборе текста на рабочем столе, действует и для виджетов «Просмотр папок», размещённых на рабочем столе, а не только для встроенного режима, когда рабочий стол сам работает как «Просмотр папок»;
- Plasma 6.8 – устранены проблемы с позиционированием и совместимостью тем у раскрывающихся меню в Plasma и виджетах.
Экономия памяти и чистка «Параметров системы»
В KDE Frameworks 6.29 немного снижено потребление памяти Plasma – правки затронули библиотеки KSvg и KGuiAddons.
Из «Параметров системы» в составе KDE Gear 26.12 убрали страницу Connection Preferences с сетевыми параметрами: настройки на ней были крайне узкоспециальными, в современных условиях почти ни на что не влияли и лишь загромождали интерфейс.
Заключение
Главное изменение недели адресовано пользователям Steam и Discord: с выходом Plasma 6.8 такие окна впишутся в оформление рабочего окружения без ручных правил и правок настроек Breeze. Привязка к ядрам в «Системном мониторе» пригодится тем, кто прежде управлял планированием процессов из командной строки, а обладателям систем, затронутых регрессиями со сном и подтормаживаниями, исправления принесут обновления 6.7.3 и 6.7.4 по мере их появления в дистрибутивах.