LINUX.ORG.RU

Послать окну сигнал


0

0

Как послать окну программы сигнал? Например, развернуть окно во весь экран. Или сымитировать нажатие мышью в точке с заданными координатами.

Под оффтопик знаю программу на ту же тему: winmacro. Позволяет записать события клавиатуры и мыши, затем многократно их воспроизвести. А как под иксами воспроизвести заданные события?

★★★★★

> развернуть окно во весь экран
wmctrl
> сымитировать нажатие мышью в точке с заданными координатами.

xte из пакета xautomation

pawnhearts ★★★★★
()

> Или сымитировать нажатие мышью в точке с заданными координатами.

в дополнение к сказанному: xnee

gaa ★★
()

В дополнение к вышесказанному:
dcop для KDE3.
Менее глобально (только для KDE3), более универсально (для KDE3).

NekoExMachina
()
Ответ на: комментарий от NekoExMachina

Re^2: Послать окну сигнал

> В дополнение к вышесказанному:
> dcop для KDE3.


Он не умеет посылать команду "распахнуть окно", проверено.

gaa ★★
()
Ответ на: комментарий от pawnhearts

> wmctrl

> xte из пакета xautomation

Спасибо, уже компилирую.

question4 ★★★★★
() автор топика
Ответ на: комментарий от gaa

> в дополнение к сказанному: xnee

Тоже для записи макросов? Спасибо.

question4 ★★★★★
() автор топика
Ответ на: комментарий от pawnhearts

>> развернуть окно во весь экран

> wmctrl


А как им разворачивать? Я нашёл только команды вида
wmctrl -r Windowname -e 0,0,0,1280,1024 ; wmctrl -a Windowname
Это немного не то, хотя обычно разница несущественна.

Можно ли как-то этой командой двигать край окна за левый край экрана?

question4 ★★★★★
() автор топика
Ответ на: комментарий от pawnhearts

> xte из пакета xautomation

То ли в мане проблема, то ли я что-то не понимаю.

$ xte mousemove 100 100
Unknown command 'mousemove'
Unknown command '100'
Unknown command '100'

Или требуется какой-то модуль для иксов добавить?

question4 ★★★★★
() автор топика
Ответ на: комментарий от question4

>> wmctrl
> А как им разворачивать? Я нашёл только команды вида


wmctrl -i -r 0x03c00008 -b add,fullscreen

> Можно ли как-то этой командой двигать край окна за левый край экрана?


wmctrl -i -r 0x03c00008 -v -e 0,-100,-100,10,10

И вообще, учись читать маны, там всё это есть :)

gaa ★★
()
Ответ на: комментарий от gaa

> -b

Спасибо, пропустил. То, что требовалось, называется -b toggle,maximized_vert,maximized_horz

> wmctrl -i -r 0x05400003 -v -e 0,-100,-100,10,10

envir_utf8: 1 Using window: 0x05400003 grflags: 3840

Упирается в левый верхний угол экрана. Поэтому и спрашиваю.

> учись читать маны

Как? :)

question4 ★★★★★
() автор топика
Ответ на: комментарий от alex_custov

> wmctrl -b toggle,maximized_vert,maximized_horz

Спасибо, оно.

question4 ★★★★★
() автор топика
Ответ на: комментарий от question4

> Упирается в левый верхний угол экрана. Поэтому и спрашиваю.

Значит WM такой. У меня в kwin утянйлось за край.

>> учись читать маны

> Как? :)


Рекурсивно: man man :)

gaa ★★
()
Ответ на: комментарий от gaa

> Значит WM такой. У меня в kwin утянйлось за край.

XFWM4, XFCE. Вручную и в нём, и в КДЕ, и в гноме можно за левый край, но нельзя за верхний.

Кстати, почему во многих WM нельзя двигать окно за верхний край? В TWM можно, а в более сложных не получается.

question4 ★★★★★
() автор топика
Ответ на: комментарий от NekoExMachina

> Распахнуть окно было _например_, поэтому и посоветовал :)

"Например" оно было потому, что это было первой задачей: распахнуть 96 окон swfdec-player (по умолчанию они открываются с левым верхним углом в центре экрана) и сделать с них скриншоты.

DCOP не годится, т.к. хотелось бы применять это и к программам под WINE.

question4 ★★★★★
() автор топика
Ответ на: комментарий от question4

в *box точно помню можно было.
В kde3 - нажимаешь alt, тыкаешь в окно, тянешь наверх.
Почему нельзя просто за заголовок - без понятия.

NekoExMachina
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.