On Mon, 12 Jul 2004 07:34:52 -0700 Nathan Laredo <[EMAIL PROTECTED]> babbled:

> I realize this isn't exactly what you were asking to do, but perhaps you
> should look at the manpage for XCirculateSubwindows.
> 
> XCirculateSubwindowsDown will lower your top window to the bottom and
> the one below it will be on top.   This is very similar to what you
> wanted to do and doesn't require you to parse the window tree.
> 
> Keep in mind though, for some users, the topmost window is not always
> the one that has focus (this is even true of win32 programming when
> focus follows pointer (or win32 XMouse) is set), and you must
> specifically set input focus to the window.   Also some users detest
> it (read as "I hate it") when window stacking order is changed on them
> by applications.

also remember to not circulate the windowmanager frame windows... the wm will be
most upset if you do this... MOST upset. just circulate the app windows

> -- Nathan Laredo
> [EMAIL PROTECTED]
> 
> On Mon, 12 Jul 2004 11:02:05 +0300, Eugen Andronic
> <[EMAIL PROTECTED]> wrote:
> > Hello all,
> > I'm new to X window programming, so maybe my problem is very simple for many
> > of you. The problem is:
> > I have a "stack" of apps running on top of the X. None of them are "stay on
> > top". Let's say the following windows are on the system:
> > 
> > desktop, x1, x2, ....., xn
> > 
> > From the xi window I want to find the main window of the app bellow xi (
> > let's say xi-1) and to give it the focus.
> > 
> > My attempt was:
> >        int root;
> >        int parent;
> >        unsigned int nchildren;
> >        int* children;
> >        Display* d;
> > 
> >        d = XOpenDisplay("");
> >        int w = XDefaultRootWindow(d); //w should be the desktop
> >        int ret = XQueryTree(d, w, (Window*)&root, (Window*)&parent,
> > (Window**)&children, &nchildren );
> > 
> > I have the ID of my window and I want to find which is the window imediately
> > bellow it. Following the man of XQueryTree I thought the IDs are from bottom
> > to top but I'm not sure the list is "sorted" from the point of view of "Z"
> > order.
> >        so, my need is ID_bellow_me = Some_Func_To_Find_The_ID();
> > 
> > and then,
> >        XSetInputFocus( d, ID_bellow_me, RevertToNone, CurrentTime );
> >        XFree( children );
> >        XCloseDisplay(d);
> > 
> > Thanks for your help,
> > Eugen
> > 
> > _______________________________________________
> > Devel mailing list
> > [EMAIL PROTECTED]
> > http://XFree86.Org/mailman/listinfo/devel
> >
> _______________________________________________
> Devel mailing list
> [EMAIL PROTECTED]
> http://XFree86.Org/mailman/listinfo/devel
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    [EMAIL PROTECTED]
熊耳 - 車君 (数田)                  [EMAIL PROTECTED]
Tokyo, Japan (東京 日本)
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to