Para criar telas a partir do console, também há scrot
. Como não é uma ferramenta do pacote imagemagick
, acho que há uma chance de as cores ficarem bem.
Existe um problema - scrot
só pode tirar sceenshot de tela cheia, então faremos a captura de tela cheia e depois recortamos a área da janela que precisamos. É claro que, para cortar, não usaremos imagemagick
, mas ferramentas de netpbm
package.
#!/bin/bash
unset x y w h
eval $(xwininfo -id $(wmctrl -l |grep "Top Expanded Edge Panel" |awk '{print $1}') |
sed -ne "s/^ \+Absolute upper-left X: \+\([0-9]\+\).*/x=/p" \
-e "s/^ \+Absolute upper-left Y: \+\([0-9]\+\).*/y=/p" \
-e "s/^ \+Width: \+\([0-9]\+\).*/w=/p" \
-e "s/^ \+Height: \+\([0-9]\+\).*/h=/p" )
scrot scrot.pnm
< scrot.pnm pnmcut -left $x -top $y -width $w -height $h | pnmtopng > scrot_cropped.png
display scrot_cropped.png
Você poderia verificar se com scrot
você poderia criar uma captura de tela com cores inalteradas? Se sim esse script deve fazer o trabalho e tirar a tela da janela que você quer ....
Script inspirado nas respostas de @fred: Como faço para encontrar as dimensões da janela e posição com precisão, incluindo decorações? e @JRW: Oneliner para fatiar uma imagem?