From: "Pavel S. Khmelinsky" <hmepas@yauza.ru>
To: community@altlinux.ru
Subject: Re: [Comm] Re: Looking for app to minimize all opened windows
Date: Sun, 16 Feb 2003 12:54:06 +0300
Message-ID: <3E4F5FBE.3080509@yauza.ru> (raw)
In-Reply-To: <87wuk0d098.fsf@lenin.home>
Большое спасибо!
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!
>
>
>
prev parent reply other threads:[~2003-02-16 9:54 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-02-14 21:19 [Comm] " Pavel S. Khmelinsky
2003-02-15 17:53 ` [Comm] " Michael Shigorin
2003-02-15 19:54 ` Anton Kovalenko
2003-02-15 20:51 ` Michael Shigorin
2003-02-15 23:03 ` Pavel S. Khmelinsky
2003-02-16 9:48 ` Anton Kovalenko
2003-02-16 9:54 ` Pavel S. Khmelinsky [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3E4F5FBE.3080509@yauza.ru \
--to=hmepas@yauza.ru \
--cc=community@altlinux.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git