Como mover janelas do intervalo de dimensões para o espaço de trabalho 2?

Como mover janelas do intervalo de dimensões para o espaço de trabalho 2?

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 wmctrlcomandos, 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 2colocar 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.

informação relacionada