[Comm] Закрыть окошко из коммандой строки
Alexander Dymo
=?iso-8859-1?q?cloudtemple_=CE=C1_mksat=2Enet?=
Вт Окт 29 01:28:55 MSK 2002
> вся фишка в том, как получить идентификатор активного окна....
> причем ведь не все проги поддерживают dcop интерфейс :(
> Задача в том, чтобы АКТИВНОМУ (имеющему фокус ввода) приложения послать
> сигнал, аналогичный тому, который отсылает менеджер окон при нажатии кнопки
> закрыть...
Если все же с помощью dcop, то нахождение активного окна - примерно так:
#shell script
for name in `dcop`
do
for name2 in `dcop $name | grep mainwindow`
do
echo $name `dcop $name $name2 isActiveWindow`
done
done
А посылка команды минимизации активному окну:
for name in `dcop`
do
for name2 in `dcop $name | grep mainwindow`
do
if [ `dcop $name $name2 isActiveWindow` = "true" ]; then
dcop $name $name2 minimize
fi
done
done
Насчет закрытия активного окна с помощью dcop - затрудняюсь сказать.
Не все даже КДЕ-приложения поддерживают MainApplication-Interface.
Те, что поддерживают, закрываются сообщением
<appname> MainApplication-Interface quit
Но есть еще один метод:
xkill -id `dcop <appname> <appname>-mainwindow#<num> getWinID`
getWinID возвращает Х-идентификатор.
Общаться с окнами по Х-id умеют xkill, xprop, xwininfo.
--
WBR, Alexander Dymo
Ukrainian State Maritime Technical University
cloudtemple на mskat.net
http://www.cloudtemple.mksat.net
Подробная информация о списке рассылки community