ディメンション範囲のウィンドウをワークスペース 2 に移動するにはどうすればよいですか?

ディメンション範囲のウィンドウをワークスペース 2 に移動するにはどうすればよいですか?

私はたくさんのフィギュアを持っていますバツ身長(550-570)x(465-486)で南西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 のウィンドウを Workspace 2 に移動するにはどうすればよいですか?
  • サイズが(550-570)x(465-485)のウィンドウをワークスペース2に移動するにはどうすればよいですか?

OS: Debian 8.5 64 ビット
Linux カーネル: 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 の次のリリースで問題が解決されることを期待しましょう。

関連情報