Столкнулся со следующей проблемой. При некоторых обстоятельствах KDE оказывается в следующем состоянии - нагрузка на CPU в пределах нормы, окошки обновляют своё содержимое (например, играет видео в браузере, всякие анимации и т. д.), указатель мыши двигается, но... ничего не реагирует на клики, наведение указателя мыши, нажатия клавиш клавиатуры. Единственным решением оказывается переключиться в другую виртуальную консоль и убить иксы. Я не уверен на 100%, но мне кажется эта проблема связана с захватом ввода, который делают некоторые окна. Например:
1) Я нажимаю Print Screen
2) Открывается скриншотилка KDE
3) Я выбираю сделать новый скриншот выделенной области
4) После этого в норме появляется полноэкранное окно с копией текущего содержимого экрана, в котором можно выделять регион, который хочется сохранить. Предполагаю, что это окно захватывает весь ввод.
5) Однако оно появляется с задержкой, в течение которой ничто не мешает совершить мне больше кликов по кнопке «Сделать новый скриншот». Например, потому что я не уверен, что хорошо нажал (тачпад иногда подглючивает).
6) В итоге нифига не появляется, а ввод таки захватывается
Аналогичная ситуация может быть с меню (большинство всплывающих меню в иксах тоже захватывают ввод), если успеть кликнуть по другой части окна до появления меню. Однако там редко бывает задержка, так что шанс такого мал.
В общем, мне кажется, что если после выполнения действия, которое должно вызвать появление модального на уровне системы окна, но до показа самого окна, произвести какие-то клики, то это самое модальное окно не показывается, а ввод всё равно перехватывается.
Как с этим жить? Перезапускать оконную подсистему плохое решение, ибо дохнут все приложения (а там может быть какая-то важная информация + восстанавливать все запущенные приложения это тоже потеря времени). Может быть есть какой-то workaround этого бага? (например, включить какой-то другой режим работы KWin/иксов) Или хотя бы можно повесить сброс захвата ввода на какую-нибудь секретную комбинацию клавиш? (знаю, что скринлокеры обычно построены на базе захвата ввода)