Isso funciona para mim. Pode não funcionar com todas as aplicações e todos os gestores de janelas. O formato pam
é pelo menos suportado pelo ImageMagick, então você pode visualizá-lo com display
e convertê-lo para outros formatos, se necessário, com convert
:
xprop -notype 32c _NET_WM_ICON |
perl -0777 -pe '@_=/\d+/g;
printf "P7\nWIDTH %d\nHEIGHT %d\nDEPTH 4\nMAXVAL 255\nTUPLTYPE RGB_ALPHA\nENDHDR\n", splice@_,0,2;
$_=pack "N*", @_;
s/(.)(...)/$2$1/gs' > icon.pam
(e clique na janela da qual você deseja obter o ícone, veja também a opção -id
do xprop)
A idéia é usar o xprop para obter a propriedade como uma lista de inteiros decimais de 32 bits e usar perl para convertê-los em um formato gráfico (pam escolhido aqui por simplicidade, embora eu tenha que reordenar os bytes, pois _NET_WM_ICON é ARGB enquanto pam é RGBA.
( uma nota sobre o formato pam . É um formato netpbm , sendo o netpbm uma manipulação venerável de imagens Unix No entanto, devido a vários problemas, principalmente licenciamentos, as versões mais recentes do netpbm não são pacotes do Debian e, como resultado, seus derivados como o Ubuntu também, o que significa que a maioria dos utilitários de conversão pam não estão presentes. tem mais netpbm, você pode canalizar a saída acima para pamrgbatopng
para gerar uma imagem png)