csd: initial implementation of minimize/maximize/close buttons

This commit is contained in:
Daniel Eklöf 2020-03-02 20:29:28 +01:00
parent c845c90835
commit 9699c9b8bf
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
11 changed files with 268 additions and 21 deletions

View file

@ -47,8 +47,12 @@ csd_instantiate(struct wl_window *win)
assert(win->csd.sub_surface[i] == NULL);
win->csd.surface[i] = wl_compositor_create_surface(wayl->compositor);
struct wl_surface *parent = i < CSD_SURF_MINIMIZE
? win->surface : win->csd.surface[CSD_SURF_TITLE];
win->csd.sub_surface[i] = wl_subcompositor_get_subsurface(
wayl->sub_compositor, win->csd.surface[i], win->surface);
wayl->sub_compositor, win->csd.surface[i], parent);
wl_subsurface_set_sync(win->csd.sub_surface[i]);
wl_surface_set_user_data(win->csd.surface[i], win);