window initial position - Linux

This is a discussion on window initial position - Linux ; Hi all, I had noticed very strange behaviour while trying to get the x,y coor. of a created window. I use the standard XCreateSimpleWindow(...) library call to create my window - right after I create it - I "Map" it ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: window initial position

  1. window initial position

    Hi all,

    I had noticed very strange behaviour while trying to get the x,y coor.
    of a created window.
    I use the standard XCreateSimpleWindow(...) library call to create my
    window - right after I create it - I "Map" it using XMapWindow().
    Now, all I want is to query the created window's initial x,y coor. -
    and for this I use XTranslateCoordinates(). For some reason sometimes
    the x,y coor. I receive differ from the window's actual position.

    Also, after creating the window and querying its initial location I
    subscirbe to its events - I had noticed that sometimes the window
    receives a non-interactive initial move event (which I don't always
    catch) - that changes its original initial location.

    To make it short: after the window is created I wait on its events
    with XNextEvent() and sometimes I get the event of the correct window
    location and sometime I dont get it (the location I get is in the left
    corner of the screen and not in the updated location of the window)

    How can I be sure the coor. I receive are the correct ones?
    Any suggestion? Did I miss something?

    Please help.
    Thanks in advance.

  2. Re: window initial position

    hagit writes:

    > Hi all,
    >
    > I had noticed very strange behaviour while trying to get the x,y coor.
    > of a created window.
    > I use the standard XCreateSimpleWindow(...) library call to create my
    > window - right after I create it - I "Map" it using XMapWindow().
    > Now, all I want is to query the created window's initial x,y coor. -
    > and for this I use XTranslateCoordinates(). For some reason sometimes
    > the x,y coor. I receive differ from the window's actual position.
    >
    > Also, after creating the window and querying its initial location I
    > subscirbe to its events - I had noticed that sometimes the window
    > receives a non-interactive initial move event (which I don't always
    > catch) - that changes its original initial location.


    That would be the window manager reparenting your window into the
    decoration window. If you select the proper event mask
    (StructureNotifyMask?) before mapping the window, you should get all
    notifications.

    That said, you should probably think again about why you need to know
    the location of the window. A well-behaved application should not
    normally care where its windows are.

    --
    Måns Rullgård
    mans@mansr.com

+ Reply to Thread