view: add client_request flag to view->impl->unmap()

This makes explicit the subtle behavioral difference between
xwayland_view_unmap() and handle_unmap().

With this change, the XDG and XWayland versions of handle_map/unmap()
are now identical, which will make further refactoring possible.
This commit is contained in:
John Lindgren 2023-07-01 12:37:47 -04:00 committed by Consolatis
parent b200dd2e7b
commit 370cdc80e0
4 changed files with 22 additions and 18 deletions

View file

@ -34,7 +34,13 @@ struct view_impl {
void (*map)(struct view *view);
void (*set_activated)(struct view *view, bool activated);
void (*set_fullscreen)(struct view *view, bool fullscreen);
void (*unmap)(struct view *view);
/*
* client_request is true if the client unmapped its own
* surface; false if we are just minimizing the view. The two
* cases are similar but have subtle differences (e.g., when
* minimizing we don't destroy the foreign toplevel handle).
*/
void (*unmap)(struct view *view, bool client_request);
void (*maximize)(struct view *view, bool maximize);
void (*minimize)(struct view *view, bool minimize);
void (*move_to_front)(struct view *view);