From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <3E4F5FBE.3080509@yauza.ru> Date: Sun, 16 Feb 2003 12:54:06 +0300 From: "Pavel S. Khmelinsky" User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.0) Gecko/20020606 X-Accept-Language: ru, en MIME-Version: 1.0 To: community@altlinux.ru Subject: Re: [Comm] Re: Looking for app to minimize all opened windows References: <3E4D5D7C.6060806@yauza.ru> <20030215175302.GE15216@osdn.org.ua> <87n0kxcobf.fsf@lenin.home> <3E4EC725.9030804@yauza.ru> <87wuk0d098.fsf@lenin.home> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit Sender: community-admin@altlinux.ru Errors-To: community-admin@altlinux.ru X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: community@altlinux.ru X-Reply-To: hmepas@yauza.ru List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: List-Post: Большое спасибо! Anton Kovalenko wrote: >>>>>>Pavel S Khmelinsky writes: >>>>>> >>>>>> > > >> Так что пользоваться нам надо не "посылкой событий", а вызовом > >> XIconifyWindow. Вот пример (proof-of-concept) -- программка, > >> которая сворачивает окно с заданным id. > > > Ок. Окно свернули. А список окон как получить? > >Вот тут уже не так легко. На сях это делается через XQueryTree, >а из шелла -- через xwininfo (к примеру, xwininfo -root -tree). >Вот так это примерно выглядит (с учётом предыдущей программки): > >(лучше не запускать, не прочитав письмо далее!) > >xwininfo -root -children|awk '/^ *0x/ { print $1 }'|xargs -n 1 ./iconify > >Но проблема в том, как из полученного списка окон выделить >нужные. То есть не свернуть ненароком wharf, dock, taskbar или >что там ещё не надо сворачивать. > >Я бы посоветовал позвать xwininfo -name что-то -children на >каждое из "несворачиваемых" окошек, запомнить их parent id (у >них родитель -- WM frame, который и надо пропустить), а затем >выполнить слегка подправленный вышеприведённый пример, пропуская >эти окна. > >P.S. >А вот стоит только сменить window manager на скриптуемый и >"управляемый извне", и всё станет гораздо проще. Например, я >могу сделать > > FvwmCommand 'All ("XTerm") Iconify' > >P.P.S. >Ну не мог я не дать свой любимый совет для таких случаев: use >fvwm! > > >