私は数が多い幅X高い(550-570)x(465-486)in南西Matlab関数ロジックにmovegui()
設定します。全部開けたい南西外部モニタまたはワークスペースのウィンドウサイズの範囲 2.
まあこのコマンドは、次の図形寸法を表示します。幅X高い、16進コードとタイトルを使用して、560 x 475サイズのウィンドウを次の位置に移動したいと思います。幅X高い、それぞれワークスペース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