Позиционирование окна программы при помощи xdotool

Софт под Linux, разные программы, но только связанные с Linux

Модератор: /dev/random

awua
Сообщения: 594

Позиционирование окна программы при помощи xdotool

Сообщение awua »

Пытаюсь настроить запуск программы с последующим позиционированием окна программы, но никак не могу составить команду.

Код: Выделить всё

kcolorchooser && xdotool search --classname "kcolorchooser" windowmove 100 400

Код: Выделить всё

kcolorchooser && xdotool "kcolorchooser" windowmove 100 400

Ничего из этого не работает. Как здесь заставить xdotool дождаться запуска программы и переместить это окно в указанные координаты?
Спасибо сказали:
awua
Сообщения: 594

Re: Позиционирование окна программы при помощи xdotool

Сообщение awua »

Вот ещё нашёл программу, которую тоже не получается заставить позиционировать окно при запуске программы:

Код: Выделить всё

kcolorchooser && wmctrl -r kcolorchooser -e '0,50,50,-1,-1'

Если выполнить команду wmctrl, то всё работает. А с запуском программы не работает.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Позиционирование окна программы при помощи xdotool

Сообщение sash-kan »

как насчёт
… && sleep <secs> …
?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Позиционирование окна программы при помощи xdotool

Сообщение allez »

awua
Сочетание символов "&&" в командной конструкции означает... правильно, что команды, расположенные за ним, выполнятся только при успешном завершении команды, расположенной до него. В вашем случае окно программы и не сможет двигаться, так как команды xdotool и wmctrl смогут выполниться лишь после того, как вы это самое окно закроете. ;)
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Позиционирование окна программы при помощи xdotool

Сообщение sash-kan »

allez
нынче вроде модно у gui-программеров делать форк при старте·
p.s. не знаток gui-программирования и модных в нём тенденций
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Позиционирование окна программы при помощи xdotool

Сообщение allez »

У меня та же история с тенденциями и модами. :)

Я просто опробовал указанную автором темы команду в терминале и она отработала в полном соответствии с принципом наименьшей неожиданности: сначала запустился kcolorchooser и bash начал ожидать его завершения, чтобы потом запустить (или не запустить) то, что было указано после "&&". Да и честно признаться, ни разу еще не сталкивался с тем, что GUI-приложение форкается после запуска. Всякий раз при запуске такового из терминала приходилось закрывать окно приложения, чтобы вернуться в оболочку. Впрочем, мне приходилось запускать GUI-приложения из терминала только для того, чтобы выяснить, что в него выдается в случае каких-либо глюков приложения. А такое случалось крайне редко. :)
Спасибо сказали:
awua
Сообщения: 594

Re: Позиционирование окна программы при помощи xdotool

Сообщение awua »

allez писал(а):
26.01.2012 12:45
Всякий раз при запуске такового из терминала приходилось закрывать окно приложения, чтобы вернуться в оболочку.

Код: Выделить всё

kcolorchooser &
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Позиционирование окна программы при помощи xdotool

Сообщение allez »

Спасибо, но я давным-давно в курсе того, как запустить приложение в фоновом режиме. ;)
Кроме того, мне фоновый режим и не нужен был вовсе. :)
allez писал(а):
26.01.2012 12:45
Впрочем, мне приходилось запускать GUI-приложения из терминала только для того, чтобы выяснить, что в него выдается в случае каких-либо глюков приложения.

P. S. По теме: мне удалось выполнить нужные вам действия, запустив kcolorchooser в отдельном экземпляре оболочки:

Код: Выделить всё

(kcolorchooser &); sleep 1; xdotool search --classname "kcolorchooser" windowmove 100 100
Спасибо сказали:
awua
Сообщения: 594

Re: Позиционирование окна программы при помощи xdotool

Сообщение awua »

Да, работает. Но удобнее использовать wmctrl (в нём не нужно заголовки искать):

Код: Выделить всё

(gedit &); sleep 1 ; wmctrl -r gedit -e '0,50,50,-1,-1'
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Позиционирование окна программы при помощи xdotool

Сообщение allez »

awua писал(а):
26.01.2012 16:41
Но удобнее использовать wmctrl (в нём не нужно заголовки искать)
Согласен, для вашей задачи wmctrl удобнее.
Спасибо сказали: