
私はたくさんのフィギュアを持っています幅バツ身長(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 の次のリリースで問題が解決されることを期待しましょう。