* [Comm] Looking for app to minimize all opened windows @ 2003-02-14 21:19 Pavel S. Khmelinsky 2003-02-15 17:53 ` [Comm] " Michael Shigorin 0 siblings, 1 reply; 7+ messages in thread From: Pavel S. Khmelinsky @ 2003-02-14 21:19 UTC (permalink / raw) To: community Всем привет! Ищу программу под иксы для свертывания сразу всех окон. Хорошо бы она умел сворачивать окна как на текущем десктопе, так и на всех сразу. Использую Window Maker. Может кто что подскажет? Вроде идея то тривиальна, а реализации лично я нигде не нашел. hmepas ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Comm] Re: Looking for app to minimize all opened windows 2003-02-14 21:19 [Comm] Looking for app to minimize all opened windows Pavel S. Khmelinsky @ 2003-02-15 17:53 ` Michael Shigorin 2003-02-15 19:54 ` Anton Kovalenko 0 siblings, 1 reply; 7+ messages in thread From: Michael Shigorin @ 2003-02-15 17:53 UTC (permalink / raw) To: community On Sat, Feb 15, 2003 at 12:19:56AM +0300, Pavel S. Khmelinsky wrote: > Ищу программу под иксы для свертывания сразу всех окон. Хорошо > бы она умел сворачивать окна как на текущем десктопе, так и на > всех сразу. Использую Window Maker. Может кто что подскажет? Эээ... если с двух раз не ответили -- значит, видимо, все хуже :) > Вроде идея то тривиальна, а реализации лично я нигде не нашел. Значтак: "свернуть" в понятиях X11 -- это событие (event). http://freshmeat.net/search?q=x11+event дает по крайней мере http://freshmeat.net/projects/android/ -- далее уже можно думать, потрошить тот гномий апплет и делать из него что-то свое или копнуть со стороны Android (и Tcl/Tk по мере ;-). PS: вообще поиск по icccm x11 event и последующее знакомство со всем этим... хмм... при определенной настойчивости тоже может помочь. Возможно. -- ---- WBR, Michael Shigorin <mike@altlinux.ru> ------ Linux.Kiev http://www.linux.kiev.ua/ ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Comm] Re: Looking for app to minimize all opened windows 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 0 siblings, 2 replies; 7+ messages in thread From: Anton Kovalenko @ 2003-02-15 19:54 UTC (permalink / raw) To: community >>>>> Michael Shigorin writes: > On Sat, Feb 15, 2003 at 12:19:56AM +0300, Pavel S. Khmelinsky wrote: >> Ищу программу под иксы для свертывания сразу всех окон. Хорошо >> бы она умел сворачивать окна как на текущем десктопе, так и на >> всех сразу. Использую Window Maker. Может кто что подскажет? > Эээ... если с двух раз не ответили -- значит, видимо, все хуже :) Всё _ещё хуже_. > Значтак: "свернуть" в понятиях X11 -- это событие (event). Если имеется ввиду нечно вроде UnmapNotify или PropertyNotify (WM_STATE) -- да, это событие. Но здесь оно не поможет: единственное его предназначение -- чтобы WM сообщал нашей прикладухе: "знаешь, а я тут твоё окно свернул"... Если мы и пошлём прикладухе _ЭТО_ через SendEvent, всё, чего мы добьёмся -- прикладуха будет думать, что её свернули. Так что пользоваться нам надо не "посылкой событий", а вызовом XIconifyWindow. Вот пример (proof-of-concept) -- программка, которая сворачивает окно с заданным id. ------- содержимое файла iconify.c ------- #include <X11/Xlib.h> #include <stdlib.h> int main (int argc, char **argv) { Display *dpy; if (argc!=2) { /* We need egg-zactly one arg */ return 1; } dpy = XOpenDisplay(NULL); /* use $DISPLAY variable */ XIconifyWindow (dpy, strtol(argv[1],0,0), 0 /* FIXME: it's screen num. */ ); XCloseDisplay( dpy ); return 0; } ----------------------------------------- Это можно откомпилировать командой gcc -o iconify iconify.c -L/usr/X11R6/lib -lX11 А затем в окошке xterm запустить ./iconify $WINDOWID Окошко этого самого xterm, разумеется, должно свернуться [...Мишины рекомендации по поводу eventов пропускаю. Они очень подробные и полезные, но не для этой задачи...] -- With Best Wishes, Anton Kovalenko /* http://kovalenko.webzone.ru */ #!/usr/bin/wish - best wish I have for you! ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Comm] Re: Looking for app to minimize all opened windows 2003-02-15 19:54 ` Anton Kovalenko @ 2003-02-15 20:51 ` Michael Shigorin 2003-02-15 23:03 ` Pavel S. Khmelinsky 1 sibling, 0 replies; 7+ messages in thread From: Michael Shigorin @ 2003-02-15 20:51 UTC (permalink / raw) To: community On Sat, Feb 15, 2003 at 10:54:12PM +0300, Anton Kovalenko wrote: > [...Мишины рекомендации по поводу eventов пропускаю. Собственно, "так я и подозревал" -- никогда ниже Tk в X не залазил с этой стороны :-) -- ---- WBR, Michael Shigorin <mike@altlinux.ru> ------ Linux.Kiev http://www.linux.kiev.ua/ ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Comm] Re: Looking for app to minimize all opened windows 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 1 sibling, 1 reply; 7+ messages in thread From: Pavel S. Khmelinsky @ 2003-02-15 23:03 UTC (permalink / raw) To: community Anton Kovalenko wrote: >>>>>>Michael Shigorin writes: >>>>>> >>>>>> > > > On Sat, Feb 15, 2003 at 12:19:56AM +0300, Pavel S. Khmelinsky wrote: > >> Ищу программу под иксы для свертывания сразу всех окон. Хорошо > >> бы она умел сворачивать окна как на текущем десктопе, так и на > >> всех сразу. Использую Window Maker. Может кто что подскажет? > > Эээ... если с двух раз не ответили -- значит, видимо, все хуже :) > >Всё _ещё хуже_. > > > Значтак: "свернуть" в понятиях X11 -- это событие (event). > >Если имеется ввиду нечно вроде UnmapNotify или PropertyNotify >(WM_STATE) -- да, это событие. Но здесь оно не поможет: >единственное его предназначение -- чтобы WM сообщал нашей >прикладухе: "знаешь, а я тут твоё окно свернул"... > >Если мы и пошлём прикладухе _ЭТО_ через SendEvent, всё, чего мы >добьёмся -- прикладуха будет думать, что её свернули. > > >Так что пользоваться нам надо не "посылкой событий", а вызовом >XIconifyWindow. Вот пример (proof-of-concept) -- программка, >которая сворачивает окно с заданным id. > > Ок. Окно свернули. А список окон как получить? ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Comm] Re: Looking for app to minimize all opened windows 2003-02-15 23:03 ` Pavel S. Khmelinsky @ 2003-02-16 9:48 ` Anton Kovalenko 2003-02-16 9:54 ` Pavel S. Khmelinsky 0 siblings, 1 reply; 7+ messages in thread From: Anton Kovalenko @ 2003-02-16 9:48 UTC (permalink / raw) To: community >>>>> 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! -- With Best Wishes, Anton Kovalenko /* http://kovalenko.webzone.ru */ #!/usr/bin/wish - best wish I have for you! ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Comm] Re: Looking for app to minimize all opened windows 2003-02-16 9:48 ` Anton Kovalenko @ 2003-02-16 9:54 ` Pavel S. Khmelinsky 0 siblings, 0 replies; 7+ messages in thread From: Pavel S. Khmelinsky @ 2003-02-16 9:54 UTC (permalink / raw) To: community Большое спасибо! 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! > > > ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2003-02-16 9:54 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2003-02-14 21:19 [Comm] Looking for app to minimize all opened windows 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
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