if the unplugged output is the first output in output list, the surface on unplugged output is marked dirty, and the surface on following output is moved ahead orderly.
if the unplugged output is the last output in output list, the surface on unplugged output is moved to the first output if the unplugged output is in the middle of output list, the suruface on unplugged output is moved to the first output, and the surface on following output is moved ahead. >From the first version, the modification contains: -don't add plane->surface_list -rename output_destroy_listener to shell_output -deal with child window, like subsurface, popup window -move weston_output_move() calling function from update_outputs() to handle_output_destroy() I test this patchset on two and three outputs, it works fine. But I maybe miss some window to restore. Xiong Zhang (6): compositor: set surface->plane from destroyed plane to NULL shell: register output->destroy_signal handler shell: restroe app run on non default and unplugged output shell: restroe app run on default and unplugged output window,desktop-shell: deal with output unplug on client side shell: restore app when workspace_num > 1 on unplugged output clients/desktop-shell.c | 20 ++++ clients/window.c | 32 +++++++ clients/window.h | 3 + src/compositor-drm.c | 14 +-- src/compositor.c | 41 +++++++- src/compositor.h | 11 ++- src/shell.c | 247 ++++++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 351 insertions(+), 17 deletions(-) -- 1.8.3.2 _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
