Захват неактивного окна (linux, plasma)

Нужно делать скриншот неактивного окна (которое в данный момент минимизированное, допустим, или на соседнем виртуальном рабочем столе. каждые 5 секунд). Слышал, что в окружение Enlightenment это возможно. Хочу сделать, что-бы это было возможно в KDE. Как я понял, в аттрибутах окна существует флаг map_state, на который смотрят проги для захвата скриншота, и что логично, должен существовать сам pixmap.

Можно ли как то пересобрать kde и прикрутить данную фичу? Точнее, пересобрать я знаю как, но вот с поиском "нужного участка кода" проблема. Спасибо.


Ответы (2 шт):

Автор решения: DiD

Картинку можно получить

xwd -id <windowid> | convert xwd:- image.png

cобытие сворачивания можно отследить

xprop -spy -id <windowid>

Надо как-то успевать получить изображение до того как оно погрузится ниже rootwin.

→ Ссылка
Автор решения: thess

Разобрался. По исходникам выяснил, что для x-сессии у kwin в теле updateVisibility имеется проверка на настройки композита, в том числе просмотра миниатюр окон с различными состояниями (будь то минимизированное, на другом рабочем столе, или в другом активити).Соответственно, можно ничего не пересобирать, а зайти в SystemSettings->Display And Monitors->Compositor и выставить нужный чекбокс Keep window thumbnails в Always, после чего map_state у окон всегда будет IsViewable и можно делать скриншоты! =) Удачи.

→ Ссылка