render: delay TIOCSWINSZ while doing an interactive resize

Instead of disabling content centering, delay the TIOCSWINSZ (a.k.a
delay sending the new dimensions to the client) by a small amount
while doing an interactive resize.

Non-interactive resizes are still immediate.

For now, force a resize when the user stops the interactive
resize. This ensures the client application receives the new
dimensions immediately.

It still works without the last, forced, resize, but there typically
be a small delay until the client application receives the final
dimensions.

Closes #301
Closes #283
This commit is contained in:
Daniel Eklöf 2021-01-17 16:12:54 +01:00
parent 6876ab6bc2
commit 9a1df7bb03
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
5 changed files with 126 additions and 12 deletions

View file

@ -390,6 +390,8 @@ struct wl_window {
bool is_tiled_left:1;
bool is_tiled_right:1;
} configure;
int resize_timeout_fd;
};
struct config;