tar*_*dem 5 shell workspaces wmctrl
目前我已经成功使用, wmctrl -r :SELECT: -t 2
但类似的东西 wmctrl -r -i 0x03e00003 -t 2
不起作用。我应该如何编写命令以选择要通过 ID 而不是鼠标移动的窗口?
我正在使用带有默认 MATE DE 的 Linux Mint 13。
我也试过 wmctrl -i -r 0x03e00003 -t 2
EDIT1: wmctrl -i -r thewinIDInHexa -t 2
现在工作。它不起作用的原因是,当我第一次尝试 wmctrl 时,我使用了正确的 ID 但错误的语法,第二次我使用了正确的形式但错误的窗口 ID...问题是 ID 不是 - existent 和 wmctrl 不会为不存在的 ID 输出任何消息。感谢你付出的努力。确认我实际上使用了正确的命令形式后,促使我仔细检查 ID。再次感谢你
EDIT2:由于我无法发表评论,我将在此处发布对@slm 的回复:现在正确的 ID 是 0x0380000f
wmctrl -v -i -r 0x0380000f -t 2
envir_utf8: 1
Using window: 0x0380000f
Run Code Online (Sandbox Code Playgroud)
VLC 移至工作区 #2(第三工作区)
对于实际上不存在的 ID,我们有几乎相同的事情:
wmctrl -v -i -r 0x03a00003 -t 2
envir_utf8: 1
Using window: 0x03a00003
Run Code Online (Sandbox Code Playgroud)
也许你对-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
Run Code Online (Sandbox Code Playgroud)
第二列是桌面编号。因此,当您使用-t 2
它时,实际上是将窗口-r 0x03e00003
放在第三个桌面上,而不是第二个桌面上。
Evince PDF 窗口在桌面 #1 (0) 上启动:
$ wmctrl -l | grep 0x03a00003
0x03a00003 0 greeneggs.bubba.net Packt.Puppet.3.Beginners.Guide.pdf
Run Code Online (Sandbox Code Playgroud)
将其移至桌面 #3 (2):
$ wmctrl -i -r 0x03a00003 -t 2
Run Code Online (Sandbox Code Playgroud)
确认:
$ wmctrl -l | grep 0x03a00003
0x03a00003 2 greeneggs.bubba.net Packt.Puppet.3.Beginners.Guide.pdf
Run Code Online (Sandbox Code Playgroud)
请注意它在哪个窗口上:
它在桌面 #3 上!