From 0bb5787a108914513ab97d3c08a035e12ed8b9e6 Mon Sep 17 00:00:00 2001 From: Keith Bowes Date: Thu, 20 Feb 2020 10:18:25 -0500 Subject: [PATCH] Focus previous view on close --- waybox/xdg_shell.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/waybox/xdg_shell.c b/waybox/xdg_shell.c index 026a22a..ac77ca6 100644 --- a/waybox/xdg_shell.c +++ b/waybox/xdg_shell.c @@ -48,6 +48,11 @@ static void xdg_surface_unmap(struct wl_listener *listener, void *data) { /* Called when the surface is unmapped, and should no longer be shown. */ struct wb_view *view = wl_container_of(listener, view, unmap); view->mapped = false; + + /* Focus previous view's surface, if any */ + if (view->server->views.prev) { + focus_view((struct wb_view *) view->server->views.prev, ((struct wb_view *) view->server->views.prev)->xdg_surface->surface); + } } static void xdg_surface_destroy(struct wl_listener *listener, void *data) {