diff options
author | dec05eba <dec05eba@protonmail.com> | 2023-01-14 14:41:21 +0100 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2023-01-14 14:41:21 +0100 |
commit | bb770991b2d688b247106e116c1ee222c6dbbe11 (patch) | |
tree | 0311b5ba2dc9cd412a745d11e0894858ebdfe602 /src/window | |
parent | 1ad975ac730a28b3c1a4fb4c2d0abc387e18d3f6 (diff) |
Eliminate resize flicker by setting window gravity to NorthWest
Diffstat (limited to 'src/window')
-rw-r--r-- | src/window/window.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/window/window.c b/src/window/window.c index 660ae9d..958adab 100644 --- a/src/window/window.c +++ b/src/window/window.c @@ -338,6 +338,7 @@ static int mgl_window_init(mgl_window *self, const char *title, const mgl_window window_attr.colormap = x11_context->color_map; window_attr.background_pixel = 0; window_attr.border_pixel = 0; + window_attr.bit_gravity = NorthWestGravity; window_attr.event_mask = KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask | @@ -347,7 +348,7 @@ static int mgl_window_init(mgl_window *self, const char *title, const mgl_window const bool hide_window = params ? params->hidden : false; if(existing_window) { - if(!XChangeWindowAttributes(context->connection, existing_window, CWColormap | CWEventMask | CWOverrideRedirect | CWBorderPixel | CWBackPixel, &window_attr)) { + if(!XChangeWindowAttributes(context->connection, existing_window, CWColormap | CWEventMask | CWOverrideRedirect | CWBorderPixel | CWBackPixel | CWBitGravity, &window_attr)) { fprintf(stderr, "mgl error: XChangeWindowAttributes failed\n"); mgl_window_deinit(self); return -1; @@ -360,7 +361,7 @@ static int mgl_window_init(mgl_window *self, const char *title, const mgl_window self->window = XCreateWindow(context->connection, parent_window, params->position.x, params->position.y, window_size.x, window_size.y, 0, x11_context->visual_info->depth, InputOutput, x11_context->visual_info->visual, - CWColormap | CWEventMask | CWOverrideRedirect | CWBorderPixel | CWBackPixel, &window_attr); + CWColormap | CWEventMask | CWOverrideRedirect | CWBorderPixel | CWBackPixel | CWBitGravity, &window_attr); if(!self->window) { fprintf(stderr, "mgl error: XCreateWindow failed\n"); mgl_window_deinit(self); |