Вот подход: когда вы слышите звонок Skype, запустите скрипт, который действует следующим образом: (1) Получить номер pid Skype, (2) Получить список всех окон вместе с pid процесса, (3) Использование pid (или, возможно, имени окна) ) найдите соответствующий идентификатор окна, (4) перенесите это окно на текущий экран и поднимите его.
Для (1), вы можете использовать обычные ps ... | grep ...
подход. Мне не ясно, в каком окне или окне находится "кнопка ответа"; может случиться так, что использование заголовка окна (вместо pid) для поиска соответствующего окна в wmctrl -l
может работать лучше. Для (2) wmctrl -lp
. Для (4), wmctrl -R ...
В этой системе у меня нет Skype или нескольких мониторов, поэтому я не могу проверить приведенные выше предложения. Я думаю, что более обтекаемый метод может быть разработан.
При создании и тестировании такого сценария может быть хорошей идеей создать автономный процесс, который вы можете оставить вне экрана и попробовать вручную использовать wmctrl
чтобы вывести его на экран, прежде чем пытаться написать сценарий процесса.
Что касается части ответа «Когда вы слышите звонок Skype, запустите скрипт», приведенного выше: Если вы хотите сделать кнопку меню такой, чтобы скрипт запускался при наведении курсора мыши на кнопку, можно найти примеры этого с помощью yume3. в скриптах typewriter
и yume-wmctrl-leftcol
которые находятся в yume3-22.gz на странице загрузки yume3. yume3 основан на Gtk, и его легко установить, если в вашей системе уже установлены библиотеки Gtk. В yume3 есть параметры, позволяющие сделать меню закрепленными / поверх / неокрашенными, как описано здесь.