
Eu tenho muitas figuras delarguraxaltura(550-570)x(465-486) nosudoestelogicamente definido lá pela função do Matlab movegui()
. Eu gostaria de abrir todos aquelessudoestejanelas do intervalo de tamanho em um monitor externo ou na área de trabalho 2.
MeuhO comando 'mostra as dimensões da figuralarguraxaltura, seus códigos hexadecimais e títulos para os quais gostaria de mover janelas de tamanho 560 x 475 paralarguraxaltura, respectivamente, para o espaço de trabalho 2
masi@masi:~$ wmctrl -l -G
0x01c0000b 0 0 0 3840 1080 masi Desktop
0x01e00002 0 0 54 1920 1023 masi Edit - Unix & Linux Stack Exchange - Google Chrome
0x02200006 0 2088 333 1608 501 masi masi@masi: ~
0x0280003d 0 1920 78 1920 1041 masi MATLAB R2016a - academic use
0x02800ac6 0 11 113 568 465 masi Figure 1: data gray all 4
0x02800af2 0 687 113 560 475 masi Figure 2: data gray top half (1/2)
0x02800aff 0 1364 113 560 475 masi Figure 3: data gray top #1 (1/4)
0x02800b16 0 1364 621 560 475 masi Figure 4: Time domain
0x02800b2a 0 11 631 568 465 masi Figure 5: Memory/... Monitoring
0x02800b31 0 683 631 568 465 masi Figure 6: data Size(I) monitoring
0x02800b3b 0 11 621 560 475 masi Figure 7: Histograms
0x02800b85 0 774 594 386 28 masi Press SPACEBAR to continue
Executar o comando do meuh fornece o número correto de wmctrl
comandos, mas comandos individuais não têm nenhum efeito (cuidado com códigos hexadecimais diferentes aqui do que acima, devido à iteração diferente)
masi@masi:~$ wmctrl -l -G |
> awk '$0~/^0x/{ winid=$1; width=$5; height=$6;
> if(width>=550 && width<=570 && height>=465 && height<=485)
> printf "wmctrl -i -r %s -t 2\n",winid
> }' | sh -x
+ wmctrl -i -r 0x03200120 -t 2
+ wmctrl -i -r 0x03200149 -t 2
+ wmctrl -i -r 0x0320015f -t 2
+ wmctrl -i -r 0x03200173 -t 2
+ wmctrl -i -r 0x03200188 -t 2
+ wmctrl -i -r 0x0320019f -t 2
+ wmctrl -i -r 0x032001b2 -t 2
Por que + wmctrl -i -r 0x03200120 -t 2
colocar a janela no espaço de trabalho 2? Qual é o símbolo +
aí?
- Eu faço
wmctrl -r 1 -t 2
, mas nada, TODO especifica de alguma forma as dimensões aqui. - Como você pode mover janelas de tamanho 560x475 para o espaço de trabalho 2?
- Como posso mover janelas de tamanho (550-570)x(465-485) para o espaço de trabalho 2?
SO: Debian 8.5
Kernel Linux de 64 bits: 4.6 de backports
Matlab: 2016a
Gerenciador de janelas: Gnome 3.14
Hardware: Asus Zenbook UX303UA, Asus PC
Outras fontes: Commandlinefu searchwmctrlnão traz nada de relevante
Responder1
Você pode usar um pequeno script awk para filtrar os IDs de janela necessários usando a largura e a altura nas colunas 5 e 6 separadas por espaço:
wmctrl -l -G |
awk '$0~/^0x/{ winid=$1; width=$5; height=$6;
if(width>=550 && width<=570 && height>=465 && height<=485)
printf "wmctrl -i -r %s -t 2\n",winid
}' | sh
Responder2
Não há solução funcional suportada para Gnome 3.14 no Debian 8.5. Esperemos que o próximo lançamento do Gnome no primeiro e segundo trimestre de 2017 ajude no caso.