fullscreening oddities
I am trying to understand why I get a topbar-sized sliver of background above the window when I fullscreen the video-player demo in gtk4-demo.
The same is not happening when fullscreening widget-factory.
Here are the relevant protocol sequences:
video-player:
[1440017.233] -> xdg_toplevel@64.set_fullscreen(nil)
[1440017.610] gtk_surface1@65.configure(array[0])
[1440017.623] gtk_surface1@65.configure_edges(array[16])
[1440017.625] xdg_toplevel@64.configure_bounds(1920, 1168)
[1440017.628] xdg_toplevel@64.configure(1920, 1168, array[8])
[1440017.630] xdg_surface@63.configure(952)
[1440017.636] -> xdg_surface@63.ack_configure(952)
widget-factory:
[1557530.279] -> xdg_toplevel@46.set_fullscreen(nil)
[1557532.326] wl_display@1.delete_id(59)
[1557532.341] wp_presentation_feedback@59.sync_output(wl_output@6)
[1557532.344] wp_presentation_feedback@59.presented(0, 16598, 998904000, 16665835, 0, 158, 7)
[1557532.348] gtk_surface1@47.configure(array[0])
[1557532.350] gtk_surface1@47.configure_edges(array[16])
[1557532.352] xdg_toplevel@46.configure_bounds(1920, 1168)
[1557532.368] xdg_toplevel@46.configure(1920, 1200, array[8])
[1557532.371] xdg_surface@45.configure(963)
[1557532.374] -> xdg_surface@45.ack_configure(963)
As you can see, in the video-player case, mutter gives us the wrong bounds (still subtracting the top bar after we fullscreened), but then it is consistent in that it gives us a size that matches the bounds.
In the widget-factory case, we still get the wrong bounds, but mutter just gives us the full screen anyway.
Just ftr, there is no dmabuf offloading involved here, this happens with GSK_DEBUG=offload-disable, too.
Edited by Matthias Clasen