Как переместить окно в другое рабочее пространство, используя его идентификатор, в bash?

Как переместить окно в другое рабочее пространство, используя его идентификатор, в bash?

В настоящее время я успешно использовал, wmctrl -r :SELECT: -t 2 но что-то вроде wmctrl -r -i 0x03e00003 -t 2не работает. Как мне написать команду, чтобы выбрать окно для перемещения по ID, а не мышью?

Я использую Linux Mint 13 с рабочим окружением MATE по умолчанию.

Я тоже пробовалwmctrl -i -r 0x03e00003 -t 2

EDIT1: wmctrl -i -r thewinIDInHexa -t 2теперь работает. Причина, по которой это не сработало, заключается в том, что в первый раз, когда я экспериментировал с wmctrl, я использовал правильный ID, но неправильный синтаксис, во второй раз я использовал правильную форму, но неправильный ID окна... дело в том, что ID не существовал, и wmctrl не выводит никаких сообщений для несуществующих ID. Спасибо за ваши усилия. Подтверждение того, что я действительно использовал правильную форму для команды, заставило меня дважды проверить ID. Спасибо еще раз

EDIT2: поскольку я не могу комментировать, я опубликую здесь ответ @slm: правильный идентификатор теперь 0x0380000f

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



envir_utf8: 1
Using window: 0x0380000f

VLC перемещен в рабочую область №2 (третья рабочая область)

для идентификатора, который на самом деле не существует, мы имеем практически то же самое:

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-й столбец — это номер рабочего стола. Так что когда вы используете, -t 2то фактически помещаете окно -r 0x03e00003на 3-й рабочий стол, а не на 2-й.

Пример

Окно 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

Обратите внимание, в каком окне это находится:

    сс #1

Он на рабочем столе №3!

Рекомендации

Связанный контент