Commits on Source (8)
-
Olivier Fourdan authored
For libdecor, we will have to attach a new buffer and commit from two different handlers (libdecor configure and commit). Having xwl_window_attach_buffer() separate from xwl_window_post_damage() is to allow for that. This commit should not introduce any functional change. Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com> Reviewed-by:
Michel Dänzer <mdaenzer@redhat.com>
-
Olivier Fourdan authored
The configure handler for libdecor, namely handle_libdecor_configure(), is where both the content and the decorations get resized (when needed). If for any reason, the actual size of the Xwayland screen fails to be updated, we would still appy the expected size rather than the actual one for the libdecor state. To avoid this, use the actual xwl_screen width/height for the libdecor state. Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com> Reviewed-by:
Michel Dänzer <mdaenzer@redhat.com>
-
Olivier Fourdan authored
This moves the code which updates the XRandR modes and sets the root window size to its own function. This preparation work for the next commit, no functional change. Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com> Reviewed-by:
Michel Dänzer <mdaenzer@redhat.com>
-
Olivier Fourdan authored
The configure handler in libdecor is triggered any time a new configuration is received. According to the documentation from libdecor, an application should respond to that event by creating a suitable libdecor_state, and apply it using libdecor_frame_commit(). So we ought to attach a new buffer matching the new size and commit the Wayland surface. The actual content of the window does not need to be explicitly repainted, that occurs through the call to SetRootClip(): xwl_output_set_mode_fixed() -> update_screen_size() -> SetRootClip() -> miHandleValidateExposures() -> miWindowExposures() -> miPaintWindow() This fixes an issue with mutter where maximizing a window and then switching to another window would sometimes resize the Xwayland window back to its pre-maximized size, or with Weston where the Xwayland window would initially show up black until the pointer moves to the window. Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com> Reviewed-by:
Michel Dänzer <mdaenzer@redhat.com>
-
Olivier Fourdan authored
Allow passing an optional libdecor configuration pointer to xwl_window_update_libdecor_size() so that we can reuse it from more than one place and avoid duplicating that code. No functional change. Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com> Reviewed-by:
Michel Dänzer <mdaenzer@redhat.com>
-
Olivier Fourdan authored
This is to avoid repeating the same code in two places. This is essentially a cosmetic change, not a functional change. Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com> Reviewed-by:
Michel Dänzer <mdaenzer@redhat.com>
-
Olivier Fourdan authored
Enforce sensible min/max values for the window size when using libdecor. Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com> Reviewed-by:
Michel Dänzer <mdaenzer@redhat.com>
-
Olivier Fourdan authored
Similar to commit 94deed27 - " xwayland: Use sensible defaults for rootful size", mark fullscreen mode as fixed so that the actual monitor layout is not reflected in the single fullscreen rootful window. Without this, if "-fullscreen" is used without "-geometry", the XRandR configuration is taken from the compositor via wl_output/xdg-output and cannot be changed by the X11 clients. Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com> Reviewed-by:
Michel Dänzer <mdaenzer@redhat.com>