試してください:
wmctrl -r “window name(or any string in the title)” -t `wmctrl -d | grep “workspace name” | cut -d" " -f1`
説明させてください:wmctrlショーの助けで
-r <WIN> -t <DESK> Move the window to the specified desktop.
<DESK> A desktop number. Desktops are counted from zero.
<WIN> This argument specifies the window. By default it's
interpreted as a string. The string is matched
against the window titles and the first matching
window is used. The matching isn't case sensitive
and the string may appear in any position
of the title.
The -i option may be used to interpret the argument
as a numerical window ID represented as a decimal
number. If it starts with "0x", then
it will be interpreted as a hexadecimal number.
wmctrl -d
すべてのワークスペースを一覧表示できます。私のコンピューターでは、次のように表示されます。
0-DG:1600x900 VP:N / A WA:0,0 1600x868コード
1 * DG:1600x900 VP:0,0 WA:0,0 1600x868再生
2-DG:1600x900 VP:N / A WA:0,01600x868調査
*は現在のワークスペースを意味します
ところで、wmctrl -l
私のコンピュータですべてのウィンドウ(あなたがすでに知っている)をリストすることです、今それらは:
0x05400008 1ユーザー-LinuxMintターミナル
0x03a0008e 0 user-LinuxMint Mozilla Firefox
「DESK」は数字でなければならないので、私はgrep “workspace name” | cut -d" " -f1
それを取得するために使用します。
たとえば、Firefoxをワークスペース「コード」に移動する場合は、次のように使用できます。
wmctrl -r "firefox" -t 0
または
wmctrl -r "moz" -t `wmctrl -d | grep "code" | cut -d" " -f1`
だが
wmctrl -r -i 0x03a0008e -t `wmctrl -d | grep "code" | cut -d" " -f1`
一度だけ私を働かせてください、そして私は理由がわかりません!