Rémi Bernon (@rbernon) commented about dlls/winewayland.drv/window.c:
pthread_mutex_unlock(&win_data_mutex);
}
+static BOOL wayland_window_get_config(HWND hwnd, struct wayland_window_config *conf) +{
- if (!NtUserGetWindowRect(hwnd, &conf->rect)) return FALSE;
Instead of querying the rectangle you should probably pass the rects from `WAYLAND_WindowPosChanged`, note that there are different rects there for different purposes and I think the one you want to detect fullscreen windows is the `visible_rect`, which is actually different from the `window_rect` that this call returns.
The driver is actually responsible for setting `visible_rect` in `WindowPosChanging`, to the subset of `window_rect` that is going to be displayed on screen. It can be used for instance to crop window decorations, but could also perhaps be used to avoid overshooting monitors, like you are trying to workaround later?