diff --git a/include/view.h b/include/view.h index e26cff32..3360f104 100644 --- a/include/view.h +++ b/include/view.h @@ -289,6 +289,7 @@ struct view { struct wl_signal minimized; struct wl_signal fullscreened; struct wl_signal activated; /* bool *activated */ + struct wl_signal destroy; } events; }; diff --git a/src/view.c b/src/view.c index a9797fef..6b86db2f 100644 --- a/src/view.c +++ b/src/view.c @@ -2502,6 +2502,7 @@ view_init(struct view *view) wl_signal_init(&view->events.minimized); wl_signal_init(&view->events.fullscreened); wl_signal_init(&view->events.activated); + wl_signal_init(&view->events.destroy); } void @@ -2510,6 +2511,7 @@ view_destroy(struct view *view) assert(view); struct server *server = view->server; + wl_signal_emit_mutable(&view->events.destroy, NULL); snap_constraints_invalidate(view); if (view->mappable.connected) {