
目前我已經成功使用 wmctrl -r :SELECT: -t 2
但類似的東西 wmctrl -r -i 0x03e00003 -t 2
不起作用。我應該如何編寫命令才能透過 ID 而不是透過滑鼠選擇要移動的視窗?
我使用的是 Linux Mint 13 和預設的 MATE DE 。
我也嘗試過wmctrl -i -r 0x03e00003 -t 2
編輯1: wmctrl -i -r thewinIDInHexa -t 2
現在可以工作。它不起作用的原因是,當我第一次嘗試wmctrl 時,我使用了正確的ID,但語法錯誤,第二次我使用了正確的形式,但錯誤的視窗ID...問題是ID 不是-對於不存在的 ID,existent 和 wmctrl 不會輸出任何訊息。感謝你付出的努力。確認我實際上使用了正確的命令形式後,我不得不仔細檢查 ID。再次感謝你
編輯2:由於我無法發表評論,我將在這裡發布對@slm的回應:現在正確的ID是0x0380000f
wmctrl -v -i -r 0x0380000f -t 2
envir_utf8: 1
Using window: 0x0380000f
VLC 已移至工作區#2(第三個工作區)
對於實際上不存在的 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
第二列是桌面的編號。因此,當您使用時,-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
請注意它在哪個視窗上:
它位於桌面#3 上!