Hi, On 8 September 2014 20:08, Bill Spitzak <spit...@gmail.com> wrote:
> I'm probably being stupid, but I still can't figure out how it chooses the > output for a NON-maximized surface. I would think that should use exactly > the same algorithm as maximized does here? > > Each surface has assigned output it is currently mapped on (so it can be NULL). This surface->output is set by weston_surface_assign_output which is called by weston_view_assign_output (and that by weston_surface_update_transform) or by surface_unmap. Atm, weston_surface_assign_output assigns the output on which the surface covers the biggest area + it sets a bitfield with all the outputs the surface is (at least partially) mapped on. This setting is done by Weston core (in src/compositor.c). I don't think it should use the same algorithm, because then we can just use surface->output instead of shsurf->output, right? If I understand it correctly, the shsurf->output should be kind of 'chosen' by user (like in xdg_surface_set_fullscreen request or so) - it is just the output the user expects the surface is on. > On 09/08/2014 03:34 AM, Marek Chalupa wrote: > >> shsurf->output is the output that user expects the shell surface >> is on. When maximizing, we don't have any explicit setting of the output >> like in the case of fullscreening, so set the output to the one that >> the surface is currently on. In the case that the surface is not mapped >> yet, >> (if it ever happens) use the same heuristics as for fullscreening. >> > _______________________________________________ > wayland-devel mailing list > wayland-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/wayland-devel > Cheers, Marek
_______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel