LINUX.ORG.RU

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


0

0

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

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

★★★★★

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

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

xte из пакета xautomation

pawnhearts ★★★★★ ()

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

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

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

gaa ★★ ()

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

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

NekoExMachina ()
Ответ на: Re: Послать окну сигнал от pawnhearts

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

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

> wmctrl


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

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

question4 ★★★★★ ()
Ответ на: Re: Послать окну сигнал от pawnhearts

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

> xte из пакета xautomation

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

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

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

question4 ★★★★★ ()
Ответ на: Re: Послать окну сигнал от question4

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

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


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

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


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

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

gaa ★★ ()
Ответ на: Re: Послать окну сигнал от gaa

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

> -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 ★★★★★ ()
Ответ на: Re: Послать окну сигнал от question4

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

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

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

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

> Как? :)


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

gaa ★★ ()
Ответ на: Re: Послать окну сигнал от gaa

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

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

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

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

question4 ★★★★★ ()
Ответ на: Re: Re^2: Послать окну сигнал от NekoExMachina

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

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

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

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

question4 ★★★★★ ()
Ответ на: Re: Послать окну сигнал от question4

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

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

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