discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: api for programmatically getting a list of all windows


From: Fred Kiefer
Subject: Re: api for programmatically getting a list of all windows
Date: Sun, 23 Sep 2012 18:11:01 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120825 Thunderbird/15.0

I looked at the code of windowlist for X11 and there we sort out all the windows that don't belong to our application. And the code in gui wouldn't be able to handle such window numbers. When we fix one, we should also fix the other and maybe implement the context specific methods here as well?

Fred

On 19.09.2012 06:40, Dan Hitt wrote:
Thanks Matt and Ivan for your suggestions, warnings, and ideas.

Matt --- in answer to your question about xwininfo --- what i want to do
is form a model of what is on screen.  So skipping off-screen and unmapped
windows is exactly right.  The reason for not parsing xwininfo is i want
to form this model each time a new window is opened (because my ultimate
goal is to place newly created windows where they will not overlap existing
windows, if possible, and failing that, will not overlap existing app windows
[roughly speaking---the exact heuristic would be more complicated]).  So
i don't feel comfortable doing a long parsing exercise each time a window
gets opened.  (Of course i am aware that "premature optimization is
the root of all evil",
so maybe i'm just being evil here.)

Ivan --- regarding stepping through this with gdb --- that is something i
should do.  I used to do it in the old days and i probably should learn how
to do it with gnustep.  However, as far as stepping through XGServerWindow.m
goes, that's probably not very easily possible for me, as i am using a
ubuntu package (12.04).  I want to treat gnustep on ubuntu as a black box,
because ultimately i can hardly expect anybody to modify their installation
for my benefit.

Regarding changing the number of externally open windows --- i did try this,
and it made no difference.  (I opened terminal windows and closed firefox
windows [not at the same time!].)

Thanks again!

dan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]