크기 범위 창을 작업 공간 2로 이동하는 방법은 무엇입니까?

크기 범위 창을 작업 공간 2로 이동하는 방법은 무엇입니까?

나는 숫자가 많다너비엑스높은(550-570)x(465-486) ​​​​in남서Matlab 함수 논리로 movegui()설정합니다 . 다 열어보고싶다남서외부 모니터 또는 작업 공간의 창 크기 범위 2. 이 명령은 다음과 같은 그래픽 치수를 표시합니다.너비엑스높은, 16진수 코드 및 제목을 사용하여 560 x 475 크기의 창을 다음 위치로 이동하고 싶습니다.너비엑스높은, 각각 작업공간 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

meuh의 명령을 실행하면 올바른 수의 명령이 제공되지만 wmctrl단일 명령은 효과가 없습니다(여기에서는 반복이 다르기 때문에 위와 다른 16진수 코드에 유의하세요).

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

+ wmctrl -i -r 0x03200120 -t 2작업 공간 2에 창을 두나요? 거기 기호는 무엇입니까 +?

  • 나는 wmctrl -r 1 -t 2여기서 어떻게든 TODO 차원을 지정하는 것 외에는 아무것도 하지 않았습니다.
  • 560x475 크기의 창을 작업 공간 2로 이동하는 방법은 무엇입니까?
  • (550-570)x(465-485) 크기의 창을 작업 공간 2로 이동하는 방법은 무엇입니까?

운영 체제: Debian 8.5 64비트
Linux 커널: Backport 4.6
Matlab: 2016a
창 관리자: Gnome 3.14
하드웨어: Asus Zenbook UX303UA, Asus PC
기타 소스: Commandlinefu 검색제어판관련있는 것을 가져오지 않았습니다

답변1

작은 awk 스크립트를 사용하면 공백으로 구분된 열 5와 6의 너비와 높이를 사용하여 원하는 창 ID를 필터링할 수 있습니다.

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

답변2

Debian 8.5에는 Gnome 3.14 지원을 위한 작동 솔루션이 없습니다. 2017년 1~2분기에 출시된 Gnome의 다음 버전이 이 문제를 해결하는 데 도움이 되기를 바랍니다.

관련 정보