Захват неактивного окна (linux, plasma)
Нужно делать скриншот неактивного окна (которое в данный момент минимизированное, допустим, или на соседнем виртуальном рабочем столе. каждые 5 секунд). Слышал, что в окружение Enlightenment это возможно. Хочу сделать, что-бы это было возможно в KDE. Как я понял, в аттрибутах окна существует флаг map_state, на который смотрят проги для захвата скриншота, и что логично, должен существовать сам pixmap.
Можно ли как то пересобрать kde и прикрутить данную фичу? Точнее, пересобрать я знаю как, но вот с поиском "нужного участка кода" проблема. Спасибо.
Ответы (2 шт):
Картинку можно получить
xwd -id <windowid> | convert xwd:- image.png
cобытие сворачивания можно отследить
xprop -spy -id <windowid>
Надо как-то успевать получить изображение до того как оно погрузится ниже rootwin.
Разобрался. По исходникам выяснил, что для x-сессии у kwin в теле updateVisibility имеется проверка на настройки композита, в том числе просмотра миниатюр окон с различными состояниями (будь то минимизированное, на другом рабочем столе, или в другом активити).Соответственно, можно ничего не пересобирать, а зайти в SystemSettings->Display And Monitors->Compositor и выставить нужный чекбокс Keep window thumbnails в Always, после чего map_state у окон всегда будет IsViewable и можно делать скриншоты! =) Удачи.