Note that there are some explanatory texts on larger screens.

plurals
  1. POXLib windows auto-alignment performance
    primarykey
    data
    text
    <p>In XLib based application, I need to make the child window to be resized after the parent window. (For example, in order to make the child window to take the whole client area of the parent window)</p> <p>I am processing the ConfigureNotify event of the parent window and resizing the child window when needed. </p> <p>In generally it works properly. But there is a delay between resizing the parent window (for example when the user resizes the window dragging the edge) and the event received by the application.</p> <p>Because of this delay, the child window(s) takes its proper size only some time after the user stops to move the edges. This way, some bad flicker appears on the screen and the user interface looks really sluggish. </p> <p>I can see the similar behavior in many Linux programs. </p> <p>How this problem can be fixed? Or at least, how to make the delay significantly smaller? </p> <p>I tried to ignore some of the ConfigureNotify events by processing only the last received event and it helps a little, but not enough.</p> <p><strong>Update:</strong></p> <p>After some research I found that the problem is due to the asynchronous nature of the WM-application interaction. While the application resizes and redraws the child window, the window manager continues to resize the parent window. So, when the process of the resize/realign/redraw finishes, the parent window has another size, another event is posted to the event queue and everything must be started from the beginning. </p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload