diff options
Diffstat (limited to 'sway/handlers.c')
-rw-r--r-- | sway/handlers.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sway/handlers.c b/sway/handlers.c index 77e8f237..b166b7a6 100644 --- a/sway/handlers.c +++ b/sway/handlers.c @@ -104,6 +104,7 @@ static bool handle_view_created(wlc_handle handle) { // Float popups if (type & WLC_BIT_POPUP) { swayc_t *view = new_floating_view(handle); + wlc_view_set_state(handle, WLC_BIT_MAXIMIZED, false); focus_view(view); arrange_windows(active_workspace, -1, -1); } @@ -136,13 +137,17 @@ static void handle_view_destroyed(wlc_handle handle) { focus_view(focus_pointer()); arrange_windows(active_workspace, -1, -1); return; - } + } if (type & WLC_BIT_OVERRIDE_REDIRECT) { focus_view(focus_pointer()); arrange_windows(active_workspace, -1, -1); return; } + if (type & WLC_BIT_POPUP) { + swayc_t *view = get_swayc_for_handle(handle, &root_container); + destroy_view(view); + } } swayc_t *view = get_swayc_for_handle(handle, &root_container); swayc_t *parent; |