
我有很多數字寬度X高度(550-570)x(465-486) 在西南由 Matlabmovegui()
函數邏輯設定在那裡。我想打開所有這些西南外部顯示器或工作區 2 中的視窗大小範圍。
默赫的命令顯示這些圖形尺寸寬度X高度、它們的十六進位代碼和標題,我想將尺寸為 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
但單個命令沒有任何效果(請注意此處與上面不同的十六進位代碼,因為迭代不同)
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 核心:向後移植 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 年第一季至第二季發布的 Gnome 下一個版本能夠幫助解決這個問題。