bash で ID を使用してウィンドウを別のワークスペースに移動するにはどうすればよいですか?

bash で ID を使用してウィンドウを別のワークスペースに移動するにはどうすればよいですか?

現在は正常に使用できています wmctrl -r :SELECT: -t 2 が、 のようなもの wmctrl -r -i 0x03e00003 -t 2が動作しません。マウスではなくIDで移動するウィンドウを選択するには、コマンドをどのように記述すればよいでしょうか?

私はデフォルトの MATE DE を搭載した Linux Mint 13 を使用しています。

私も試してみましたwmctrl -i -r 0x03e00003 -t 2

編集 1: wmctrl -i -r thewinIDInHexa -t 2今は動作します。動作しなかった理由は、wmctrl を初めて試したときには正しい ID を使用したものの構文が間違っていたのに対し、2 回目は正しい形式を使用したもののウィンドウ ID が間違っていたためです。問題は、ID が存在しなかったことと、wmctrl が存在しない ID に対してメッセージを出力しないことです。ご協力ありがとうございます。コマンドに正しい形式を使用していることが確認できたため、ID を再確認するようになりました。改めて感謝いたします。

編集2: コメントできないので、@slm への返信をここに投稿します。正しい ID は 0x0380000f です。

wmctrl -v -i -r 0x0380000f -t 2



envir_utf8: 1
Using window: 0x0380000f

VLCはワークスペース#2(3番目のワークスペース)に移動されます

実際には存在しない ID の場合も、ほぼ同じものになります。

wmctrl -v -i -r 0x03a00003 -t 2 

envir_utf8: 1
Using window: 0x03a00003

答え1

おそらくスイッチについて混乱しているのでしょう-t #。ウィンドウは 1 から始まる番号が付けられていますが、最初のウィンドウは実際には 0 です。次の出力に注目してくださいwmctrl -l:

$ wmctrl -l
0x00c00028 -1 grinchy Top Expanded Edge Panel
0x0120001e  0 grinchy x-nautilus-desktop
0x06015fee  0 grinchy saml@grinchy:~
0x06000004  0 grinchy saml@grinchy:~
0x05a000d1  0 grinchy xorg - How can I get information about my virtual desktops via the command line? - Unix & Linux Stack Exchange - Google Chrome

2 列目はデスクトップの番号です。したがって、これを使用すると、実際には2 番目ではなく 3 番目のデスクトップに-t 2ウィンドウが配置されます。-r 0x03e00003

Evince PDF ウィンドウがデスクトップ #1 で起動します (0):

$ wmctrl -l | grep 0x03a00003
0x03a00003  0 greeneggs.bubba.net Packt.Puppet.3.Beginners.Guide.pdf

デスクトップ#3に移動する(2):

$ wmctrl -i -r 0x03a00003 -t 2

確認する:

$ wmctrl -l | grep 0x03a00003
0x03a00003  2 greeneggs.bubba.net Packt.Puppet.3.Beginners.Guide.pdf

ただし、どのウィンドウに表示されているかに注意してください。

    ss #1

デスクトップ#3にあります!

参考文献

関連情報